2011-03-20 88 views
1

我正在使用谷歌便携式联系人API。我需要让我的网络应用程序从谷歌联系人导入联系人列表。php curl OAuth GetAccessToken

该过程是一个三段式过程,其中应用程序需要OAuthGetRequestToken,OAuthAuthorizeToken和OAuthGetAccessToken。

我已经成功地完成了requestToken和authorizeToken,但我仍然坚持getAccessToken。我没有收到任何错误,但我没有收到谷歌的任何联系人列表。

我comsumer密钥和密码是“匿名”

样本请求时请求访问如下:

POST /accounts/OAuthGetAccessToken HTTP/1.1 
Host: www.google.com 
Content-Type: application/x-www-form-urlencoded 
Authorization: OAuth 
oauth_consumer_key="example.com", 
oauth_token="CKF50YzIHxCT85KMAg", 
oauth_verifier="fERNOO3NfWph90CPCeIutmFA", 
oauth_signature_method="RSA-SHA1", 
oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D", 
oauth_timestamp="137131200", 
oauth_nonce="4572616e48616d6d65724c61686176", 
oauth_version="1.0" 

我的Q的,我需要生成一个新的签名或我使用getRequestToken中的同一个?

如果我需要生成一个新的令牌,它应该是什么?

POST与PHP在curl中的GET相同吗?如果不是,我应该怎么做?

+0

更多的FYI,但谷歌已经推出了OAuth2,这在客户端更容易写入。 http://googlecode.blogspot.com/2011/03/making-auth-easier-oauth-20-for-google.html。规范不是最终的,但可能值得检查。 – 2011-03-20 16:33:43

回答

0

由于每个POST之间的数据会有所不同,因此它们将具有不同的散列值,因此我想您每次都需要创建一个新的签名,否则签名将不会匹配整个点的数据散列OAuth中的签名。