Yammer からデータを取得する小さな webapp を作成しようとしています。彼らのデータにアクセスするには、Yammer の OAuth ブリッジを経由する必要があります。Oauth php ライブラリを使用して、3 ウェイ ハンドシェイクを実行してみました。しかし、最後のステップで、無効な OAuth 署名があるというエラーが表示されます。
一連の手順は次のとおりです。
最初の部分では、リクエスト トークン URL を取得します。これらは、渡すクエリ パラメーターです。
[oauth_version] => 1.0 [oauth_nonce] => 4e495b6a5864f5a0a51fecbca9bf3c4b [oauth_timestamp] => 1256105827 [oauth_consumer_key] => my_consumer_key [oauth_signature_method] => HMAC-SHA1 [oauth_signature] => FML2eacPNH6HIGxJXnhwQUHPeOY=
この手順が完了すると、次のようにリクエスト トークンを取得します。
[oauth_token] => 6aMcbRK5wMqHgZQsdfsd [oauth_token_secret] => ro8AJxZ67sUDoiOTk8sl4V3js0uyof1uPJVB14asdfs [oauth_callback_confirmed] => true
次に、パラメーターを承認 URL に渡すことによって、指定されたトークンとトークン シークレットを承認しようとします。Yammer の認証ページに移動し、アプリが Yammer と通信できるようにします。
次に、Yammer から 4 桁のコードが返されます。このコードをアプリケーションに戻して、永久アクセス トークンを取得しようとします。次の情報をアクセス トークン URL に渡します。
[oauth_version] => 1.0 [oauth_nonce] => 52b22495ecd9eba277c1ce6b97b00fdc [oauth_timestamp] => 1256106815 [oauth_consumer_key] => myconsumerkey [callback_token] => 61A7 [oauth_token] => 6aMcbRK5wMqHgZQsdfsd [oauth_token_secret] => ro8AJxZ67sUDoiOTk8sl4V3js0uyof1uPJVB14asdfs [oauth_callback_confirmed] => true [oauth_signature_method] => HMAC-SHA1 [oauth_signature] => V9YcMDq2rP7OiZTK1k5kb/otMzA=
ここでは、Oauth Permanent アクセス トークンを受け取ることになっていますが、代わりにInvalid Oauth signatureを受け取ります。何が間違っているのかわかりません。同じ署名を使用してリクエストに署名します。新しいトークンとシークレットを使用してリクエストに署名する必要がありますか? 私もそれを試しましたが、役に立ちませんでした。標識ライブラリを使用してJavaでこれを実装しようとしても、まったく同じ場所で立ち往生しました。助けて!!