尝试将我的 JSAPI 令牌交换为 REST Oauth 令牌时遇到一些问题(https://developer.linkedin.com/documents/exchange-jsapi-tokens-rest-api-oauth-tokens)
我正在使用这个库 - http://code.google.com/p/oauth-php/ - 与 PECL 扩展相反,因为我无法将扩展安装到服务器上。
似乎有很多类似的问题,但没有一个能真正回答这个问题 - 如何使用上述库向 Linkedin 进行身份验证。
我的代码如下:
$cookie_name = "linkedin_oauth_" . $this->_c->linkedin_api_key;
$credentials_json = stripslashes($_COOKIE[$cookie_name]);
$credentials = json_decode($credentials_json);
// Get the Access Token + Secret
$access_token_url = 'https://api.linkedin.com/uas/oauth/accessToken';
OAuthStore::instance("2Leg", array(
'consumer_key' => $this->_c->linkedin_api_key,
'consumer_secret' => $this->_c->linkedin_api_secret
));
try {
$request = new OAuthRequester($access_token_url, 'POST', array(
'xoauth_oauth2_access_token' => $credentials->access_token
));
$result = $request->doRequest();
} catch(OAuthException2 $e) {
print_r($e->getMessage());
}
catch 语句输出:
Request failed with code 400: oauth_problem=parameter_absent&oauth_parameters_absent=oauth_verifier
我如何获得这个 oauth_verifier?我的理解是,如果我已经通过了 xoauth_oauth2_access_token,我就不应该需要它?
我检查了所有变量 IE $credentials 和 $this->_c 并且所有变量都正确传递。