【问题标题】:Authentication to upload files in my drive using Google drive API client library for Java使用适用于 Java 的 Google 驱动器 API 客户端库在我的驱动器中上传文件的身份验证
【发布时间】:2018-03-25 04:28:51
【问题描述】:

我有基于 spring+maven 的 java 应用程序,具有 rest web 服务。 对于这个 REST Web 服务的每次调用,我希望我的应用程序将文件上传到我的谷歌驱动器帐户。

我找到了this

在我的应用程序中上传之前如何验证帐户?我需要Google OAuth2.0 for web application server application吗?或quick start guide for java 中的身份验证方法对我的应用程序有用吗?我是 OAuth 新手。

是否有关于谷歌驱动器身份验证和使用驱动器 API 的完整指南?

google Oauth2.0 for installed app 和google Oauth2.0 for web application server 有什么区别?我应该什么时候使用它们?

【问题讨论】:

    标签: google-drive-api google-sheets-api google-oauth google-api-java-client google-oauth-java-client


    【解决方案1】:

    如果您在快速入门中使用了身份验证方法,则可以对上传文件的请求进行身份验证。

    在快速入门中稍微介绍一下服务器应用程序和身份验证方法:

    Server Application Authentication 主要与service accounts 配对以授权 API 请求,尤其是在调用 Cloud API 以访问基于项目的数据而不是用户特定的数据时。 Web 服务器应用程序可以结合用户授权使用服务帐户。

    此 OAuth 2.0 流程专门用于用户授权。它专为可以存储机密信息和维护状态的应用程序而设计。在用户与应用程序交互时或在用户离开应用程序后,经过适当授权的 Web 服务器应用程序可以访问 API。

    OAuth 2.0 for Installed App

    而像 Javascript(客户端)这样的 OAuth 2.0 身份验证被称为隐式授权流程。它专为仅在用户出现在应用程序时才访问 API 的应用程序而设计。这些应用程序无法存储机密信息。

    在此流程中,您的应用会打开一个 Google 网址,该网址使用查询参数来识别您的应用以及应用所需的 API 访问类型。您可以在当前浏览器窗口或弹出窗口中打开 URL。用户可以通过 Google 进行身份验证并授予请求的权限。然后,Google 会将用户重定向回您的应用。重定向包含一个访问令牌,您的应用会对其进行验证,然后用于发出 API 请求。

    希望这会有所帮助。

    【讨论】:

    • 这是否意味着,已安装应用的 OAuth 2.0 需要用户操作?如果我有 google drive 帐户,并且按照教程中的建议使用 client_secret.json 运行我的应用程序,我是否仍需要用户操作来验证和授予请求的权限?我的应用程序将在服务器上运行,它的 Web 服务端点将在某些事件上被触发,端点将处理触发的请求并将文件上传到驱动器帐户。除此以外,该应用程序不执行任何其他操作。我们不想通过涉及用户操作来实现这一点。只需要一个用户驱动器帐户。
    • 我有无头应用程序,我使用 OAuth2.0 作为服务帐户,因为它不需要用户同意。 developers.google.com/identity/protocols/OAuth2ServiceAccount
    猜你喜欢
    • 1970-01-01
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多