为什么需要Google API管理员凭据? (或者他们?)

时间:2016-10-18 18:12:17

标签: android api oauth-2.0 google-developers-console

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

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

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

  1. 为什么需要创建凭据?
  2. 发布过程如何运作?显然,我们不希望我们的用户必须为每台设备生成SHA1密钥才能使用Play商店中的应用。
  3. 有更简单的方法吗?我们甚至需要开发人员控制台吗?
  4. 这些问题可能已经得到解答,但我对该过程知之甚少,不知道要搜索什么。

1 个答案:

答案 0 :(得分:1)

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

现在,要提供授权,Google会向您提供凭据(密钥和密钥),使用此密钥&秘密Google为应用程序生成Access密钥和刷新密钥。

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

现在关注你的问题。

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

问:发布过程将如何运作?显然,我们不希望我们的用户必须为每台设备生成SHA1密钥才能使用Play商店中的应用。 答:Google会生成访问权限并刷新密钥。

问:有没有更简单的方法呢?我们甚至需要Developer Console吗? A:相信我......你弄明白了,这是非常容易的,也是最重要的安全方式。 (Google不允许使用密码作为默认身份验证)

您可以从此处了解详情:https://developers.google.com/identity/protocols/OAuth2