0

我已经成功获得了一个access_token,所以三足进程没有问题。

当我尝试使用 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 授权服务以批准您的应用程序的访问权限。Google Buzz 要求您使用不同的授权服务端点,该端点位于 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 回答