这是我反对的奇怪事情。
首先,我使用这个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做错了什么?
答案 0 :(得分:2)
我可以在这一行看到问题
$ linkedin-> setTokenAccess(array('oauth_token'=> $ token [“access_token”],'oauth_token_secret'=>“”));
您必须提供设置令牌访问权限的秘密。
我找到了关于Linkedin Integration的一个很好的例子,我想与你分享,我测试过,它的工作正常。