2011-03-20 30 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中的簽名。