2017-08-03 210 views
0

我已經與谷歌雲端硬盤API,服務帳戶和身份驗證的一些問題。我紅了很多,但我無法弄清楚如何解決這個問題。谷歌雲端硬盤API,OAuth且服務帳戶

語境:我有我的硬盤帳戶(約35GB)和一個簡單的Web應用程序,其讓用戶登錄,看到我的硬盤選擇一些文件夾/文件,並根據需要將它們下載一些文件。 唯一可以直接訪問我的雲端硬盤帳戶的人是(或者應該是)我的服務器,用戶通過網絡應用/服務器完成他們的工作。

經過一番搜索後,我發現服務器到服務器的文檔(https://developers.google.com/identity/protocols/OAuth2ServiceAccount)應該是完美的我的目的,但我可以看到,服務帳戶不共享相同的驅動器空間:他們有自己的,它不是可升級的。由於這個(奇怪)的限制,我不能使用服務帳戶,因爲我有超過35GB,我需要「分享」一切。

其他方法:使用「標準」Oauth獲取訪問令牌,然後使用它訪問Drive API,但訪問令牌具有過期日期,我無法每次都手動更新。

所以,第一個問題:有沒有增加對服務帳戶配額的方法嗎?如果沒有,如果有辦法使用我的「正常」帳戶(所有者)的行爲像一個服務帳戶?

第二個(虛擬)問題:我紅色的文檔介紹瞭如何創建新的Oauth憑證(https://developers.google.com/drive/v3/web/quickstart/php),最後獲得了一些示例代碼和「客戶機密」json。我運行該示例,但我不明白該json文件的作用:我必須登錄並授予權限,爲什麼需要它?

三(僞足)的問題:如果OAuth是唯一的解決辦法,是有辦法獲得/刷新訪問令牌,而無需手動做每一次?我查看了Oauth文檔,並且「用戶交互/確認」是auth流程中的基本功能之一,所以我不認爲是可能的,但是...

如果需要,我可以發佈一些代碼和/或示例。

非常感謝您的幫助!

+1

看到https://stackoverflow.com/questions/19766912/how-do-i-authorise-an-app-web-or-installed-without-user-intervention-canonic – pinoyyid

+0

太棒了!我沒有找到它,我會試着這樣,讓我們​​看看會發生什麼...非常感謝! – devfe

回答

0

分享您的硬盤帳戶的文件夾到您的服務帳戶。
您的服務帳戶地址看起來像[email protected]
然後您的服務帳戶可以查看您的雲端硬盤帳戶中的共享文件夾。
所以你有35GB的服務帳戶。

相關問題