2017-05-03 90 views
0

我正在閱讀有關可恢復上傳的谷歌雲存儲documentation,我不清楚我應該在請求頭中包含哪些Auth-Token。初始請求他們建議使用如下所示:在向Google雲端存儲進行可恢復上傳時,我對Auth-Token使用什麼?

POST https://www.googleapis.com/upload/storage/v1/b/myBucket/o?uploadType=resumable HTTP/1.1 
Authorization: Bearer [YOUR_AUTH_TOKEN] 
Content-Length: 38 
Content-Type: application/json; charset=UTF-8 
X-Upload-Content-Type: image/jpeg 
X-Upload-Content-Length: 2000000 

{ 
    "name": "myObject" 
} 

我用我的應用程序的API密鑰,所以我追加請求的URL與看起來像&key=myAPIKey的關鍵。

我得到一個401響應(Invalid Credentials),我認爲這是因爲我沒有在請求頭中包含正確的標記。

我的問題是,我在授權請求頭中包含什麼?

回答

1

「持票人」之後的位通常是「訪問令牌」。訪問令牌是短暫的憑據,可以讓您驗證您的HTTP調用。它們是某種OAuth流程的結果。如果您想嘗試手動東西出來,並安裝了gcloud SDK,您可以創建一個使用此命令:

$> gcloud auth print-access-token 

當然,該標記只會持續幾分鐘,而你不想嵌入無論如何它成爲一個程序。相反,您將獲得服務帳戶的私鑰或真實用戶的刷新令牌,然後您將使用Google的OAuth 2庫將程序交換爲永久憑據作爲訪問令牌。該協議有文件記載,但Google也提供處理它的庫,我建議使用它們。這裏有更多的文檔:https://developers.google.com/identity/protocols/OAuth2

+0

謝謝,非常有幫助。所以,爲了澄清一下,當我創建一個服務帳戶時,自動下載的JSON文件是我可以與庫一起使用的憑據,以根據需要生成Auth-Token? – quicklikerabbit

+0

就這樣。 JSON文件包含一個私鑰文件和其他一些密鑰。它代表作爲特定服務帳戶進行身份驗證的權限。它是可更新的,但永久有效。你會將它傳遞給一個庫,它將根據需要使用它來簽署訪問令牌的請求。 –

相關問題