gpt4 book ai didi

java - 在实现 OAuth 之前是否必须在 Google Apps 上注册我们的网络应用程序?

转载 作者:太空宇宙 更新时间:2023-11-04 08:43:14 25 4
gpt4 key购买 nike

我正在开发一个Java应用程序,需要访问用户的个人帐户Google数据。该开发目前在我的本地主机上的 netbeans 中进行。我正在实现 3 足 OAuth。在发送 Grant 请求时,它会向我发送未经授权的请求 token ,然后重定向到回调 URL。

在尝试访问访问 token 时,出现错误“获取 HTTP 响应时出错”。现在,根据 Google Documentation 中给出的内容,假设“如果应用程序未注册,Google 将使用 oauth_callback URL(如果已设置);如果未设置,Google 将使用字符串“anonymous”。”这是否意味着我必须在授予授权和访问请求之前在 Google Apps Engine 上注册我的应用程序?请帮忙。

供引用:OAuth for Web Applications , OAuth in the Google Data Protocol Client Libraries

最佳答案

根据您的问题,可能不是注册件给您带来了麻烦。听起来您只是没有正确实现 OAuth — 但这并不容易。 OAuth流程大致如下:

  1. 获取请求 token 。您必须传入一堆内容,声明您想要访问哪些内容,以及您希望 Google 在授予您访问该数据的权限后将用户发送到何处。您可以在此处传递通过注册获得的消费者 key 。如果您正在开发已安装的应用程序(即移动应用程序、桌面应用程序等),则使用者 key 将是字符串anonymous。这是一个解决方法;另一种方法是将您的客户端 key 或 RSA 私钥嵌入到应用程序本身中,这是一个非常非常糟糕的主意。如果您使用“匿名”,则绝对应该设置 xoauth_displayname 参数。 (实际上,每个人都应该设置此参数,但如果您使用匿名,这一点尤其重要。)
  2. 获得请求 token 后,您可以将用户重定向到特殊授权端点,并在查询字符串中传递请求 token key 。假设用户授予访问权限,Google 会将用户重定向回与请求 token 关联的回调 URL。请求 token 现已获得授权,但还不能直接使用。
  3. 请求 token 获得授权后,您可以将其交换为访问 token key / secret 对。然后,访问 token key / secret 可用于签署 protected 资源的请求,例如您尝试访问的 API 中的私有(private)数据。

对于 Web 应用程序,注册几乎总是一个好主意。它使用户可以更轻松地管理他们的访问 token ,并在您的应用程序行为不当或他们不希望您再拥有访问权限时撤销它们。如果您不注册,您的应用程序可能会在该列表中显示为看起来相当可怕的“匿名”。它实际上只是您不想注册的已安装应用程序。您可能还想注册 API key 。 API key 将极大地提高您的速率限制,并且如果您的应用程序开始出现故障,它还允许 Google 与您联系。

我会链接到 OAuth 文档,但您已经找到它们了。希望我的解释有帮助!

关于java - 在实现 OAuth 之前是否必须在 Google Apps 上注册我们的网络应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4848571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com