Я внимательно прочитал документы разработчика LinkedIn относительно вызовов API, следуя документам, я смог запросить код доступа, обменяться им с сервером и получить токен доступа.
После этого мне удалось получить часть профиля участника, используя токен доступа в формате json с приведенным ниже кодом.
$api_url = 'https://api.linkedin.com/v1/people/~:(id,first-name,last-name,email-address)?format=json';
$context = stream_context_create(array(
'http' => array(
'header' => "Authorization: Bearer " . $accessToken
),
));
$result = file_get_contents($api_url, false, $context);
echo $result;
однако проблема в том, что попытка выполнить любые другие вызовы не удастся, хотя они соответствуют документам LinkedIn и разрешены для r_basicprofile, но все же ошибка:
Warning: file_get_contents(https://api.linkedin.com/v2/people/~:(industryId~)?format=json): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden
Я попробовал что-то из следующего, но ничего не вышло
$api_url = 'https://api.linkedin.com/v2/me';
$context = stream_context_create(array(
'http' => array(
'header' => "Authorization: Bearer " . $accessToken
),
));
$result = file_get_contents($api_url, false, $context);
echo $result;
Я даже попытался получить профиль участника с помощью приведенных ниже запросов GET, но вернулся тот же 403.
https://api.linkedin.com/v2/people/(id:{person ID})
https://api.linkedin.com/v2/people/(id:{profileID})?projection=(id,firstName,lastName,industryId~)
Был бы признателен за понимание, как делать эти звонки и что не так.






проблема в том, что API V2 требует, чтобы вы установили партнерство с linkedin. это означает, что вы получите 403 запрещенную ошибку.
Partnering with LinkedIn provides you with additional API functionality & data access, increased call limits & dedicated support. Read more about our various Partner Programs and use cases and see if one is a match for your app. Applications are only accepted when we feel that they're providing value to members, developers and LinkedIn.
источник:https://developer.linkedin.com/partner-programs
К счастью для вас, есть версия API V1, которая вам нужна.
https://api.linkedin.com/v1/people/{ID}?format=json
К сожалению, информация о linkedin api V1 отсутствует / отсутствует. но для людей api все возможности, которые я нашел: /v1/people/[personID]:(firstName,lastName,headline,positions:(company,title,summary,startDate,endDate,isCurrent),industry,location:(name,country:(code)),pictureUrl,publicProfileUrl,emailAddress)?format=json
Добавьте свой LinkedIN JS SDK на свой сайт, он должен выглядеть примерно так:
<script type = "text/javascript" src = "//platform.linkedin.com/in.js">
api_key: <!-- YOUR CLIENT ID (API KEY) HERE -->
onLoad: LinkedINJSAPI.onLoad
authorize: true
credentials_cookie: true
credentials_cookie_crc: true
</script>
После этого в вашем JavaScript добавьте следующее:
var LinkedINJSAPI = {
onLoad: function(){
IN.User.authorize(LinkedINJSAPI.request, this );
},
request: function(){
var url = 'people/~:(firstName,lastName,emailAddress,positions,location)?format=json';
IN.API.Raw(url).
method('GET').
result(function(result){
console.info( JSON.stringify( result ) );
}).
error(function(error){
console.error( error.message );
});
}
}
Здесь вы можете увидеть рабочую демонстрацию ...
Большое спасибо за информацию, не могли бы вы дать мне ссылку на некоторые материалы, чтобы прочитать о V1, поскольку, за исключением основного вызова API, все другие вызовы в соответствии с документами LinkedIn предназначены для V2, кроме того, переменные в запросе GET различаются между версии (например, v1: first-name, v2: firstname), поэтому мне нужно немного почитать