簡體   English   中英

Google雲端硬盤訪問-服務帳戶或OAuth-讀取/寫入用戶文件

[英]Google Drive Access - Service Account or OAuth - To read/write user files

我有一個.NET控制台應用程序,可以對文件執行操作。 我想允許客戶讓我們訪問他們的Google雲端硬盤帳戶,以便我們可以讀寫文件。 我們的控制台應用程序作為服務運行,因此用戶無法與其進行交互並授權我們訪問其Google雲端硬盤帳戶。

我一直在使用Google服務帳戶進行應用程序級別身份驗證,直到得知服務帳戶無權訪問設置該服務帳戶的用戶的Google雲端硬盤文件夾。 這種目的無法實現,因為它是我要獲得訪問權限的客戶的Google雲端硬盤帳戶。

我看到SO成員@pinoyyid 在此SO答案中發布了一種變通方法,其中可以使用Google的Oauth2 Playground生成刷新令牌,但是我擔心刷新令牌可能會過期,並且需要用戶干預才能再次生成另一個令牌。

另一個答復提到解決方案是創建服務帳戶,然后與服務帳戶共享用戶的Google雲端硬盤帳戶。

Google建議的方法是什么? 如何最好地獲得對Google雲端硬盤帳戶的訪問權限,而僅要求所有者進行一次身份驗證,但又允許他們隨時撤消訪問權限呢?

服務帳戶和存儲的OAuth刷新令牌都是可行的方法。 每個都有其優點和缺點。

服務帳戶將在您的用戶只需要授予對可以共享給SA的特定文件夾的訪問權限時起作用。 請注意,SA創建的任何文件均由SA擁有並消耗SA的配額。 您不能“將用戶的雲端硬盤帳戶共享給SA”,而只能共享單個文件夾。

存儲RT是更寬松的選擇。 您不會使用我引用的答案中所述的OAuth游樂場,因為要讓用戶通過它是很笨拙的。 相反,您將需要編寫自己的注冊/授權服務(可以使用AppEngine,Lambda等-因此編寫和托管並不難)。

暫無
暫無

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

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