Linkedin令牌无效

时间:2013-08-09 10:40:12

标签: api oauth linkedin

这是我反对的奇怪事情。

首先,我使用这个simple-linkedinphp lib来从我的php后端执行API调用。 我从我们的IOS应用程序获得了一个用户访问令牌,它具有以下结构: {"access_token":"lettersAndSymbols","expires_in":5183999} 我将它存储在一个名为$token的变量中。 然后我尝试使用此令牌获取用户的个人资料,如下所示:

$linkedin = new \LinkedIn($this->linkedin_config);
$linkedin->setResponseFormat($linkedin::_RESPONSE_JSON);
$linkedin->setTokenAccess(array('oauth_token' => $token["access_token"], 'oauth_token_secret' => ""));
$linkedinUserJson = $linkedin->profile("~");

然后我收到错误的回复:

array(5) {
  ["linkedin"]=>
  string(358) "{
  "errorCode": 0,
  "message": "[unauthorized]. The token used in the OAuth request is not valid. sameLettersAndSymbols",
  "requestId": "74T6SY6ML6",
  "status": 401,
  "timestamp": 1376043937705
}

但是当我尝试在浏览器中使用与https://api.linkedin.com/v1/people/~?oauth2_access_token=LettersAndSymbols相同的LettersAndSymbols打开api url时,我得到了正确的用户对象响应。

怎么会这样?我是否在使用API​​ lib做错了什么?

1 个答案:

答案 0 :(得分:2)

我可以在这一行看到问题

$ linkedin-> setTokenAccess(array('oauth_token'=> $ token [“access_token”],'oauth_token_secret'=>“”));

您必须提供设置令牌访问权限的秘密。

我找到了关于Linkedin Integration的一个很好的例子,我想与你分享,我测试过,它的工作正常。

How to Integrate login with LinkedIn oAuth in PHP