0

access_token の取得に成功したので、3-legged プロセスの問題ではありません。

Buzz API を使用して新しい投稿/アクティビティを追加しようとすると、問題が発生します...

ここに私の要求があります:

POST /buzz/v1/activities/@me/@self?alt=json HTTP/1.1 
Host: www.googleapis.com 
Connection: close 
Accept-encoding: gzip, deflate 
User-Agent: Zend_Http_Client 
Content-Type: application/json 
Authorization: OAuth 
realm="",oauth_consumer_key="example.com",oauth_nonce="ce29b04ce6648fbb92efc8f 08c1c0091",oauth_signature_method="HMAC- 
SHA1",oauth_timestamp="1277934794",oauth_version="1.0",oauth_token="1%2FcBz o5ckGvCAm3wLWh1SDH3xQNoW-- 
yek1NVfUa1Qqns",oauth_signature="CUezSiMbvxyN1BTeb3uROlIx8gA%3D" 
Content-Length: 86 
{"data":{"object":{"type":"note","content":"posting on Buzz"}}} 

応答は次のとおりです。

{"error":{"errors":[{"message":"Unknown authorization header","locationType":"header","location":"Authorization"}],"code":401,"message":"Unknown authorization header"}}

そして、これが私の基本文字列です(署名が生成される文字列):

POST&https%3A%2F%2Fwww.googleapis.com%2Fbuzz%2Fv1%2Factivities%2F%40me 
%2F%40self&oauth_consumer_key%3Dexample.com%26oauth_nonce 
%3D50acc6b7ac48304ae9301134d6988cdb%26oauth_signature_method%3DHMAC- 
SHA1%26oauth_timestamp%3D1278065599%26oauth_token 
%3D1%252FcBzo5ckGvCAm3wLWh1SDH3xQNoW--yek1NVfUa1Qqns%26oauth_version 
%3D1.0 

私はこの他の基本文字列を試しました( alt=json が追加されています):

POST&https%3A%2F%2Fwww.googleapis.com%2Fbuzz%2Fv1%2Factivities%2F%40me
  %2F%40self%3Falt%3Djson&oauth_consumer_key%3Dexample.com%26oauth_nonce
  %3Dee8704244623bbcc860bf77bfcadeacc%26oauth_signature_method%3DHMAC-
  SHA1%26oauth_timestamp%3D1278069221%26oauth_token
  %3D1%252FcBzo5ckGvCAm3wLWh1SDH3xQNoW--yek1NVfUa1Qqns%26oauth_version
  %3D1.0

これを機能させるためにほとんどすべてを試しました-なぜ「不明な認証ヘッダー」と常に言うのかわかりません...機能する他のヘッダーと比較すると、ヘッダーは問題ないように見えます。

何か案は?

4

2 に答える 2

0

リクエストトークンを承認するためにどのエンドポイントを使用しましたか?

開発者ガイド:

重要: OAuth プロセスの一部では、アプリケーションのアクセスを承認するために、ユーザーを Google Authorization サービスに誘導する必要があります。Google バズでは、 https://www.google.com/buzz/api/auth/OAuthAuthorizeToken.com/buzz/api/auth/OAuthAuthorizeTokenにある別の認証サービス エンドポイントを使用する必要があり ます。

于 2010-08-02T14:32:05.800 に答える
0

GET または POST メソッドを使用する必要があります (使用する要求によって異なります)。デフォルトでは、Zend は header-method を使用します。

$client->setMethod(Zend_Http_Client::GET);

于 2010-12-10T13:10:46.330 に答える