2015-11-03 55 views
1

我想從我的腳本訪問Google雲端存儲,並且我需要自動進行身份驗證。默認情況下,gsutil配置會要求打開鏈接並鍵入生成的代碼,然後將OAuth令牌寫入.boto文件。gsutil OAuth2授權(需要.boto文件的示例)

谷歌雲還支持「憑證」頁面創建的OAuth 2.0客戶端ID,但我不能讓感覺如何堵塞這些憑據(CLIENT_ID和client_secret)到我.boto文件:

{「安裝」 :{ 「CLIENT_ID」: 「677005197220-eim3l5of3m16225qr0m9vquocj6mugt4.apps.googleusercontent.com」, 「auth_uri」: 「https://accounts.google.com/o/oauth2/auth」, 「token_uri」: 「https://accounts.google.com/o/oauth2/token」, 「auth_provider_x509_cert_url」: 「https://www.googleapis.com/oauth2/v1/certs」, 「client_secret」: 「pFghf5URxxxBFVRsQ1elWbbZ」, 「redirect_uris」:[「urn:ietf:wg:oauth:2.0:oob」,「http://localhost」]}}

(請不要嘗試使用它,因爲我稍微修改了代碼)

我插入他們以這種方式.boto文件:

[OAuth2用戶]

CLIENT_ID = 「677005197220-eim3l5of3m16225qr0m9vquocj6mugt4.apps.googleusercontent.com」 client_secret = 「pFghf5URxxxBFVRsQ1elWbbZ」 provider_label =谷歌 provider_authorization_uri = https://accounts.google.com/o/oauth2/auth provider_token_uri = https://accounts.google.com/o/oauth2/token

這是gsutil會是如何失敗的:

#gsutil會LS GS:// mybucket/ 您正試圖與未配置 憑據訪問受保護的數據。請訪問https://cloud.google.com/console#/project 並註冊一個帳戶,然後運行「gsutil config」命令 將gsutil配置爲使用這些憑證。

如果我運行gsutil配置我可以配置憑據然後它可以工作,但我需要使用我的客戶端ID和客戶端密鑰。 有人可以請建議如何使用client_id和client_secret與.boto gsutil工作?謝謝

回答

0

以下是如何創建一個帶訪問密鑰ID和祕密訪問密鑰的.boto文件。

gsutil config -a

上述條命令會生成一個.boto文件,然後你可以爲你以後的樣品使用。

+0

我使用了該示例,並顯示了在插入密鑰後gsutil失敗的錯誤消息 – user3610796