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

时间:2018-03-22 06:18:55

标签: google-api google-drive-api google-oauth2 google-developers-console

我首先在Google developer console上创建了一个Google API项目,并将OAuth 2.0客户端ID配置为凭据,以便让我的C#项目访问Google云端硬盘。

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

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

1 个答案:

答案 0 :(得分:4)

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

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

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

我的个人规则

  1. 每个应用程序都是Google开发人员控制台上的项目。
  2. 在该项目中,我为本地,测试和生产环境创建了一个客户端ID。
  3. 从关于项目创建配额的评论更新

    我目前的项目配额

      

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

    您可以随时请求其他项目尽早完成,我记得花了一周左右的时间来完成这些项目。 Project quota requests

    更新用于为同一项目创建多个凭据

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

    enter image description here

    您可能也会错过领导Google,因为我认为TOS要求每个应用程序发出请求一个项目,因此同意屏幕上有应用程序名称和指向应用程序联系人的链接。但是我认为我需要再次阅读TOS文档以确保这是一项要求。

    您也更有可能达到配额限制。很多限制是基于项目而不是基于凭据的,所以如果你有两个应用程序从同一个api读取同一个项目下创建的两个不同的凭据。与创建每个应用程序自己的项目相比,您将更快地达到配额。

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

    相同项目

    • 申请一请求20000
    • 申请2请求30000
    现在,应用程序1和应用程序2都被禁止在当天剩下的时间内发出请求,因为它们完全达到了50000个请求。

    两个单独的项目

    • 应用程序1发出30000个请求
    • 应用程序2发出50000个请求。

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