簡體   English   中英

通過Django Web應用程序將用戶文件上傳到Google驅動器

[英]Upload user file to google drive through django web application

我想將Google雲端硬盤用作Django項目的存儲空間(尤其是我需要存儲用戶拍攝的圖像)。 我正在嘗試實現以下目標:

  • 用戶使用表單上載圖像。 這些文件必須以某種方式通過Django路由,而Django使用Google Drive API將它們重定向到Google Drive。 我之所以沒有將文件直接從用戶瀏覽器發送到Google雲端硬盤,是因為我應該在客戶端存儲用於訪問Google雲端硬盤API的密鑰(當然,最終用戶不能直接訪問該密鑰)。

  • 上傳后,我必須能夠在網站上的圖庫中顯示圖像。

到目前為止,我已經讀過谷歌雲端硬盤API文檔,特別是,我已經成功地完成快速入門使用的OAuth2服務器到服務器的應用程序,請參見這里 (快速啟動覆蓋了文件上傳到用戶的谷歌雲端硬盤文件夾所以的情況下是我不需要的用戶身份驗證的中間步驟;相反,我使用服務帳戶來授權我的api請求)。

側面問題:

  • 是否可以通過瀏覽方式訪問用戶通過API上傳到Google雲端硬盤的文件列表,或者API是他們的唯一界面? 我可以使用與自己的Google雲端硬盤帳戶類似的UI訪問它們嗎?

  • 另外,我是Google服務的新手,開發人員控制台對我來說似乎是一團糟...我不知道我有多少可用磁盤空間以及該存儲空間如何/是否與我自己的Google雲端硬盤帳戶相關。

是否可以通過瀏覽方式訪問用戶通過API上傳到Google雲端硬盤的文件列表,或者API是他們的唯一界面? 我可以使用與自己的Google雲端硬盤帳戶類似的UI訪問它們嗎?

最簡潔的答案是不。 服務帳戶專用於僅由其“擁有”的應用程序訪問。 但是,如果這很重要,則可以使用文件夾共享,以(1)使服務帳戶數據在常規帳戶的UI中可見,或(2)允許您的應用寫入常規帳戶的文件夾通過共享文件夾。 請注意,無論哪種方式,文件都會消耗服務帳戶(而不是常規帳戶)上的配額。

另一種選擇是完全不使用服務帳戶,而使用常規帳戶進行所有操作。

我不知道有多少可用磁盤空間以及該存儲空間如何/是否與我自己的Google雲端硬盤帳戶相關。

最簡單的方法是使用About.get( https://developers.google.com/drive/v3/reference/about/get )來獲取限制和已使用的配額。 服務帳戶是一個獨立帳戶,與您用來創建該帳戶的常規帳戶沒有任何關系(至少在存儲和訪問方面)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM