3

这是我正在与之抗争的一件奇怪的事情。

首先,我使用这个simple-linkedinphp库从我的 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
}

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

这个怎么可能?我对 API 库做错了吗?

4

1 回答 1

2

我可以在这一行看到一个问题

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

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

我找到了一个关于 Linkedin 集成的好例子,我想和你分享,我测试过,它工作得很好。

如何在 PHP 中将登录与 LinkedIn oAuth 集成

于 2014-03-05T15:40:35.153 回答