3

これが私が戦っている奇妙なものです。

まず、この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
}

しかし、のような同じ LettersAndSymbols を使用してブラウザーで 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 に答える