【问题标题】:Get full r_basicprofile information from LinkedIn API V2 using zoonman/linkedin-api-php-client使用 zoonman/linkedin-api-php-client 从 LinkedIn API V2 获取完整的 r_basicprofile 信息
【发布时间】:2019-05-18 05:10:25
【问题描述】:

我正在使用这个 PHP SDK 连接到 LinkedIn API:

https://github.com/zoonman/linkedin-api-php-client

我是这样认证的:

    // define client
    $client = new Client(
        $_ENV["YOUR_LINKEDIN_APP_CLIENT_ID"],
        $_ENV["YOUR_LINKEDIN_APP_CLIENT_SECRET"]
    );
    $client->setRedirectUrl($_ENV["YOUR_LINKEDIN_APP_REDIRECT"]);
    $client->setApiRoot('https://api.linkedin.com/v2/');

    // define scope
    $scopes = ['r_liteprofile','r_basicprofile','r_emailaddress'];

    // redirect to LinkedIn
    $loginUrl = $client->getLoginUrl($scopes);
    return(redirect($loginUrl));

一旦通过身份验证,我就会像这样请求“我”端点:

   if (isset($_GET['code'])):
        $client = new Client(
            $_ENV["YOUR_LINKEDIN_APP_CLIENT_ID"],
            $_ENV["YOUR_LINKEDIN_APP_CLIENT_SECRET"]
        );
        $client->setRedirectUrl($_ENV["YOUR_LINKEDIN_APP_REDIRECT"]);
        $client->setApiRoot('https://api.linkedin.com/v2/');

        // get access token and store in session
        $accessToken = $client->getAccessToken($_GET['code']);
        $_SESSION["accessToken"]=$accessToken;
        $client->setAccessToken($accessToken);

        // get user profile
        $profile = $client->get('me');
        print '<pre>';
        print_r($profile);
        print '</pre>';
    endif;

我的回复仅包括以下内容:

    Array
(
    [lastName] => Array
        (
            [localized] => Array
                (
                    [en_US] => Blow
                )

            [preferredLocale] => Array
                (
                    [country] => US
                    [language] => en
                )

        )

    [firstName] => Array
        (
            [localized] => Array
                (
                    [en_US] => Joe
                )

            [preferredLocale] => Array
                (
                    [country] => US
                    [language] => en
                )

        )

    [profilePicture] => Array
        (
            [displayImage] => urn:li:digitalmediaAsset:12345678
        )

    [id] => 1234567
)

我没有获得我有权请求的所有数据:

https://developer.linkedin.com/docs/fields/basic-profile

我做错了什么?

我如何访问所有这些其他字段?

【问题讨论】:

    标签: php linkedin linkedin-api


    【解决方案1】:

    您必须使用 API v2 字段和方法。试试这个:

    $client->get('me?projection=(id,firstName,lastName,profilePicture,headline)');
    

    为了访问某些字段,您可能需要请求更多权限。查看此链接了解更多信息:

    https://docs.microsoft.com/en-us/linkedin/shared/integrations/people/profile-api#field-selections https://docs.microsoft.com/en-us/linkedin/shared/references/v2/profile#profile-fields-available-with-linkedin-partner-programs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-05
      • 2019-03-26
      • 1970-01-01
      • 1970-01-01
      • 2020-02-24
      • 2017-02-09
      • 1970-01-01
      • 2023-01-05
      相关资源
      最近更新 更多