Я использую этот 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
Что я делаю неправильно?
Как мне получить доступ ко всем этим другим полям?
Вы должны использовать поля и методы API v2. Попробуй это:
$client->get('me?projection=(id,firstName,lastName,profilePicture,headline)');
Чтобы получить доступ к некоторым полям, вам может потребоваться запросить дополнительные разрешения. Ознакомьтесь с этими ссылками для получения дополнительной информации:
https://docs.microsoft.com/en-us/linkedin/shared/integrations/people/profile-api#field-selectionshttps://docs.microsoft.com/en-us/linkedin/shared/references/v2/profile#profile-fields-available-with-linkedin-partner-programs