使用 OAuth 2.0 客户端 ID 为不同的项目创建一个或多个凭据?

Tak*_*Tak 7 oauth google-api google-drive-api google-oauth google-developers-console

我首先在Google 开发人员控制台上创建了一个 Google API 项目,并将 OAuth 2.0 客户端 ID 配置为凭据,以便让我的 C# 项目访问 Google Drive。

但是,我是使用 Google API 进行开发的新手,我无法理解何时应该创建新凭据或项目。

我应该创建多个凭据(可能是一个项目的一个凭据?)还是实际上可以为多个项目使用相同的凭据?创建多个凭证的目的是什么?

DaI*_*mTo 7

如果您正在创建不同的应用程序,那么您应该在 google 开发者控制台上创建不同的项目,每个项目都有自己的一组凭据。

这样做的原因是为了确保您不会遇到任何配额问题。它还允许谷歌跟踪谁在使用他们的数据以及使用了多少。

您还应该考虑在定义项目和创建凭据时为其命名。当用户对您的应用程序进行身份验证时,Super app one如果您使用此客户端,他们将授予访问权限以使用他们的数据,Super app two那么他们将不知道谁有权访问他们的数据。

我的个人规则

  1. 每个应用程序都是 Google 开发者控制台上的一个项目。
  2. 在那个项目中,我为本地、测试和生产环境创建了一个客户端 ID。

从关于项目创建配额的评论更新

我目前的项目配额

您的配额中剩余 37 个项目。了解更多。

你总是可以要求额外的项目尽早完成,我记得需要一周左右的时间才能得到它们。项目配额请求

更新用法为同一个项目创建多个凭据,然后

就像我之前提到的,如果您在不同的项目上使用相同的项目作为凭证,那么您就错过了领导用户的机会。我用箭头标记的字段表示APPLICATION它们特定于请求访问的应用程序。它们是项目本身的一部分。在该项目下创建的所有客户端都将使用相同的同意屏幕。如果您将它用于两个不同的应用程序,那么 IMO 就会错过引导用户使用他们授予其数据访问权限的应用程序。

在此处输入图片说明

你也可能会错过领导谷歌,因为我相信TOS要求每个应用程序提出一个请求,因此同意屏幕具有应用程序名称和应用程序联系人的链接。但是我认为我需要再次阅读 TOS 文档以确保这是一项要求。

您也更有可能达到配额限制。许多限制是基于项目而不是基于凭据的,因此如果您有两个应用程序从同一个 api 中读取,并且在同一项目下创建了两个不同的凭据。与为每个应用程序创建自己的项目相比,您达到配额的速度要快得多。

示例:Google Analytics 示例每天最大项目请求 50000。

同一个项目

  • 应用一请求 20000
  • 应用两次请求 30000

应用程序一和应用程序二现在都被阻止在当天剩余时间内发出请求,因为它们总共有 50000 个请求。

两个独立的项目

  • 应用程序一发出 30000 个请求
  • 应用程序二发出 50000 个请求。

应用程序二现在在当天剩余时间内被阻止,因为它发出了 50000 个请求。应用程序一继续工作,直到它也达到 50000 个请求。