我已完成授權步驟並獲得訪問令牌和刷新令牌。如何使用刷新令牌通過谷歌驅動器API生成訪問令牌?
接下來我應該如何使用通過谷歌驅動器API存儲的刷新令牌生成訪問令牌?
因爲我在Force.com上工作,所以我不能使用任何sdk,所以請建議直接通過API實現它的方式。
我已完成授權步驟並獲得訪問令牌和刷新令牌。如何使用刷新令牌通過谷歌驅動器API生成訪問令牌?
接下來我應該如何使用通過谷歌驅動器API存儲的刷新令牌生成訪問令牌?
因爲我在Force.com上工作,所以我不能使用任何sdk,所以請建議直接通過API實現它的方式。
如果想要實現自己,對Web服務器應用程序的OAuth 2.0流程在https://developers.google.com/accounts/docs/OAuth2WebServer記錄,尤其是你應該檢查部有關使用刷新標記:
https://developers.google.com/accounts/docs/OAuth2WebServer#refresh
這是一個古老問題,但在我看來,它並沒有完全回答,我也需要這些信息,所以我會發布我的答案。
如果您想使用Google Api客戶端庫,那麼您只需要在其中包含刷新令牌的訪問令牌,然後即使訪問令牌在一小時後過期,庫也會刷新爲你自動的令牌。
爲了獲得帶有刷新令牌的訪問令牌,您只需要詢問離線訪問類型(例如在PHP中:$client->setAccessType("offline");
),您將獲得它。請記住,只有在第一次授權時纔會使用刷新令牌獲取訪問令牌,因此請確保在第一次保存該訪問令牌時,您隨時可以使用它。
希望幫助任何人:-)
如果您正在使用的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 }
它不能正常工作 –
與httpclient務實地工作,也可能不在郵遞員工作。 – 2017-05-27 23:25:04
請以x-www-form-urlencoded身份請求身份。 –
您提到的文檔只涉及Raw-HTTP通信。 PHP-API中是否有刷新令牌的方法? –
檢查https://developers.google.com/drive/credentials –
@ClaudioCherubino ..我很抱歉打斷你..但你可以告訴我。是否有可能獲得谷歌驅動器的授權url,它可以公開使用,如使用瀏覽器播放音頻和視頻播放器..在iOS – NextStep