0

我有基於spring + maven的Java應用程序,它具有其他Web服務。 對於這個剩下的web服務的每個調用,我想我的應用程序上傳一個文件到我的谷歌驅動器帳戶。我發現this使用谷歌驅動器API驅動程序上傳文件的身份驗證用於Java的API客戶端庫

如何在我的應用程序上傳之前驗證帳戶?我需要Google OAuth2.0 for web application server application嗎?或者quick start guide for java中的身份驗證方法將適用於我的應用程序?我是OAuth的新手。

是否有任何關於谷歌驅動器身份驗證和使用驅動器API的完整指南?

已安裝的應用程序的谷歌Oauth2.0和谷歌Oauth2.0的Web應用程序服務器有什麼區別?我應該什麼時候使用每個?

回答

1

如果您在快速入門中使用了身份驗證方法,那麼確實會有上傳文件的身份驗證請求。

提供有關在快速入門服務器應用和驗證方法一點說明:

Server Application Authenticationservice accounts大多成對授權API請求,調用雲API來訪問的基於項目的數據,而不是用戶特別是當特定數據。 Web服務器應用程序可以將服務帳戶與用戶授權一起使用。

此OAuth 2.0流程專門用於用戶授權。它專爲可以存儲機密信息和維護狀態的應用程序而設計。正確授權的Web服務器應用程序可以在用戶與應用程序交互時或在用戶離開應用程序之後訪問API。

OAuth 2.0 for Installed App

雖然如Javascript(客戶端)的一些OAuth 2.0驗證被稱爲隱式授予流。它專爲僅在用戶在應用程序時訪問API的應用程序而設計。這些應用程序無法存儲機密信息。

在此流程中,您的應用將打開一個Google網址,該網址使用查詢參數來標識您的應用以及該應用所需的API訪問類型。您可以在當前瀏覽器窗口或彈出窗口中打開URL。用戶可以通過Google進行身份驗證並授予請求的權限。 Google會將用戶重定向回您的應用。重定向包括訪問令牌,您的應用程序將驗證該訪問令牌,然後用它來發出API請求。

希望這會有所幫助。

+0

這是否意味着,安裝的應用程序的OAuth 2.0需要用戶操作?如果我有Google Drive帳戶,並且正如教程中所建議的那樣,我正在使用client_secret.json運行我的應用程序,那麼是否仍需要用戶操作來進行身份驗證並授予請求的權限?我的應用程序將在服務器上運行,並且其Web服務端點將在某些事件中觸發,端點將處理該觸發的請求並將文件上傳到驅動器帳戶。該應用程序除此之外別無其他。我們不希望通過涉及用戶操作來實現這一點。只需要一個用戶驅動器帳戶。 – rsnhah

+0

我正在進行無頭應用程序,並且我使用OAuth2.0作爲服務帳戶,因爲它不需要用戶同意。 https://developers.google.com/identity/protocols/OAuth2ServiceAccount – rsnhah

相關問題