У меня возникли трудности с обменом токенами JSAPI на токен REST API. Я использую это для справки:Linkedin API: Exchange JSAPI Token для REST API OAuth Token
https://developer-programs.linkedin.com/documents/exchange-jsapi-tokens-rest-api-oauth-tokens
Я: создать самозаверенный SSL сертификат на местном уровне, так безопасно печенье в LinkedIn работает должным образом; учитывая мои права доступа r_basicprofile и r_emailaddress.
Вот мой передний конец код:
<script type="text/javascript" src="//platform.linkedin.com/in.js">
api_key: **MY_CLIENT_ID**
authorize: true
credentials_cookie: true
</script>
...
$('.linkedin-signin').click(function(e) {
IN.User.authorize(function() {
IN.API.Raw("/people/~").result(function(data) {
$.post(location.origin+'/api/account/create/linkedin', { 'lId': data.id }).done(function(result) {
console.log(result);
});
});
});
return false;
});
А вот мой PHP код, который почти так же, как в их документации:
$consumer_key = '**MY_CLIENT_ID**';
$consumer_secret = '**MY_CLIENT_SECRET**';
$cookie_name = "linkedin_oauth_${consumer_key}";
$credentials_json = $_COOKIE[$cookie_name];
$credentials = json_decode($credentials_json);
$access_token_url = 'https://api.linkedin.com/uas/oauth/accessToken';
$oauth = new OAuth($consumer_key, $consumer_secret);
$access_token = $credentials->access_token;
// swap 2.0 token for 1.0a token and secret
$oauth->fetch($access_token_url, array('xoauth_oauth2_access_token' => $access_token), OAUTH_HTTP_METHOD_POST);
Все выглядит хорошо, но на $oauth->fetch
, я получаю погрешность:
OAuthException(code: 401): Invalid auth/bad request (got a 401, expected HTTP/1.1 20X or a redirect)
Это заставляет меня поверить, что токен недействителен ... но он берется непосредственно из файла cookie, так как это может быть недействительным? Есть идеи?
вы не везло найти решение для этой проблемы? – bks
К сожалению, нет. Меня немного раздражает то, что Linkedin направляет людей сюда для технической поддержки, но не отвечает на большинство вопросов. Я сдался и оставил Linkedin вне вариантов социального входа для моего сайта. – DiscoInfiltrator
Я столкнулся с той же проблемой, и этот https://developer-programs.linkedin.com/documents/exchange-jsapi-tokens-rest-api-oauth-tokens сломан, я думаю, возможно, LinkedIn просто удалил этот API – Neekey