0

我正在与其他 3 名学生一起制作一个使用 Google Calendar API 的 Android 应用程序,我们正在努力理解身份验证过程。

我们希望能够只包含一个调用 API 的 Java 库,并将我们的应用设置为请求日历权限,然后在我们的模拟器上登录我们的个人 Google 帐户,并让应用能够访问我们各自的日历. 我们不断收到 403(禁止)错误,所以显然这不起作用。

因此,我们尝试翻阅令人困惑的 API 文档,并从 Quickstart 项目中复制了一些内容。我们设法在 Google Developer Console 上彼此共享该项目,并为我们的每台计算机添加 OAuth 凭据,现在它适用于我们每个人,但我们仍然感到困惑。

  1. 为什么这个凭证创建是必要的?
  2. 发布过程将如何进行?显然,我们不希望我们的用户必须为每个设备生成 SHA1 密钥才能使用来自 Play 商店的应用程序。
  3. 有没有更简单的方法来做到这一点?我们甚至需要开发者控制台吗?

这些问题可能已经得到解答,但我对这个过程了解得不够多,不知道要搜索什么。

4

1 回答 1

1

Google 使用 OAuth 2.0 进行用户身份验证。这意味着,每当第三方应用程序需要访问 Google 数据的权限时,用户必须首先批准该请求。

现在,为了提供授权,Google 会为您提供凭据(密钥和密钥),使用此密钥和密钥 Google 会为应用程序生成访问密钥和刷新密钥。

访问密钥:用于在有限时间内从 Google 服务器访问数据的密钥。刷新密钥:用于在旧访问密钥过期时获取新访问密钥的密钥。

现在专注于您的问题。

问:为什么需要创建此凭证?A: 确保只有您的应用程序可以访问用户的日历数据的凭据。

问:发布过程将如何进行?显然,我们不希望我们的用户必须为每个设备生成 SHA1 密钥才能使用来自 Play 商店的应用程序。A:Google 会生成访问和刷新密钥。

问:有没有更简单的方法来做到这一点?我们甚至需要开发者控制台吗?答:相信我..一旦你弄清楚了,这是非常简单且最重要的安全方式。(Google 不允许默认使用密码进行身份验证)

您可以从这里了解更多信息:https ://developers.google.com/identity/protocols/OAuth2

于 2016-10-19T01:11:32.937 回答