2012-05-17 35 views

回答

19

如果想要實現自己,對Web服務器應用程序的OAuth 2.0流程在https://developers.google.com/accounts/docs/OAuth2WebServer記錄,尤其是你應該檢查部有關使用刷新標記:

https://developers.google.com/accounts/docs/OAuth2WebServer#refresh

+0

您提到的文檔只涉及Raw-HTTP通信。 PHP-API中是否有刷新令牌的方法? –

+0

檢查https://developers.google.com/drive/credentials –

+0

@ClaudioCherubino ..我很抱歉打斷你..但你可以告訴我。是否有可能獲得谷歌驅動器的授權url,它可以公開使用,如使用瀏覽器播放音頻和視頻播放器..在iOS – NextStep

14

這是一個古老問題,但在我看來,它並沒有完全回答,我也需要這些信息,所以我會發布我的答案。

如果您想使用Google Api客戶端庫,那麼您只需要在其中包含刷新令牌的訪問令牌,然後即使訪問令牌在一小時後過期,庫也會刷新爲你自動的令牌。

爲了獲得帶有刷新令牌的訪問令牌,您只需要詢問離線訪問類型(例如在PHP中:$client->setAccessType("offline");),您將獲得它。請記住,只有在第一次授權時纔會使用刷新令牌獲取訪問令牌,因此請確保在第一次保存該訪問令牌時,您隨時可以使用它。

希望幫助任何人:-)

13

如果您正在使用的Web API,那麼你應該做一個HTTP POST調用網址:https://www.googleapis.com/oauth2/v4/token與下列的請求正文

client_id: <YOUR_CLIENT_ID> 
client_secret: <YOUR_CLIENT_SECRET> 
refresh_token: <REFRESH_TOKEN_FOR_THE_USER> 
grant_type: refresh_token 

刷新令牌永不過期,所以你可以使用它任意次數。響應將是這樣的JSON:

{ access_token: 'ya....', token_type: 'Bearer', expires_in: 3599 } 
+0

它不能正常工作 –

+0

與httpclient務實地工作,也可能不在郵遞員工作。 – 2017-05-27 23:25:04

+2

請以x-www-form-urlencoded身份請求身份。 –

相關問題