[英]What credentials should I use to allow the users to upload directly to GCS?
我正在GAE(python)中創建一個應用程序,允許用戶(必須使用Google帳戶登錄)直接將文件上傳到Google雲端存儲。 上傳將異步發生(一個按鈕將執行一些javascript代碼以發送帶有文件的XHR PUT請求)。
我決定使用JSON API ,我正在嘗試進行分段上傳。 根據文檔,我需要包含帶有令牌的Authorization標頭。 我想知道,因為我不需要訪問用戶帳戶中的任何內容(如日歷或那種東西),實現這一目標的最佳方法是什么?
是否可以從應用程序默認憑據創建臨時訪問令牌,並將其發送到html文件中的用戶,然后從js函數使用它? 如果沒有,我該怎么辦?
您需要讓用戶授予您谷歌雲存儲寫入范圍(我強烈建議任何谷歌雲存儲用戶不授予任何隨機應用程序)。 您還需要授予最終用戶對您的存儲桶的寫入權限(這也意味着他們可以刪除存儲桶中的所有內容)。 除非您事先了解所有最終用戶,否則這意味着您需要將存儲桶公開寫入..我懷疑您是否想要這樣做。
我強烈建議您使用委托訪問您的服務帳戶,但不幸的是,JSON api目前不支持任何形式的身份驗證委派。 但是,XML API確實支持簽名URL。
https://cloud.google.com/storage/docs/access-control/signed-urls
您只需將它用於客戶端上傳,其他所有內容都可以使用JSON api。
有三種選擇:
https://cloud.google.com/storage/docs/xml-api/put-object-upload#query_string_parameters
https://cloud.google.com/storage/docs/xml-api/post-object#policydocument
https://cloud.google.com/storage/docs/access-control/signed-urls#signing-resumable
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.