gpt4 book ai didi

google-analytics - api key 、客户端 ID 和服务帐户之间有什么区别?

转载 作者:可可西里 更新时间:2023-10-31 22:09:06 26 4
gpt4 key购买 nike

我需要从我的 Symfony 2 应用程序访问 Google 的服务,即 Google Analytics,因此我不得不使用 Google api 客户端(版本 2)。在访问 Google Analytics 的信息之前,我必须在 Google API 控制台中创建 API key 、客户端 ID 或服务帐户。

最后,我创建了一个服务帐户,并下载了一个文件。 Google api 客户端使用此文件授予对我的 Google Analytics 帐户及其各自收集的信息的访问权限。

我的问题是:

  1. api key、c​​lient id 和 service account 之间有什么区别?

  2. 何时创建/使用一个而不是另一个,为什么?

我还没有看到任何详尽的文章来解释我在这个问题中的要求。

最佳答案

这个线程是旧的,但仍在添加信息。将来可能会帮助其他人。

Google 需要唯一标识符将其绑定(bind)到您的项目(使用您的 android 包)以进行身份​​验证并管理流量或配额。

Oauth 和 API key 就是这样的唯一标识符。

OAuth 2.0 客户端 ID:如果您的应用程序使用 OAuth 2.0 协议(protocol),则使用 OAuth 客户端 ID。OAuth 用于创建访问 token ,而访问 token 又是一个唯一标识符。但是,需要用户同意。 https://developers.google.com/identity/protocols/OAuth2

API key :API key 是您使用控制台生成的唯一标识符。优点是用户不需要用户操作或同意。但是与 OAuth 不同,您不能使用 API key 进行授权。当您想要的数据是公开的并且不需要用户身份验证时使用 API key ,例如 Google map 。

服务帐户:Prediction API 和 Google Cloud Storage 等 Google API 可以代表您的应用程序执行操作,而无需访问用户信息。在这些情况下,您的应用程序需要向 API 证明自己的身份,但不需要用户同意。同样,在企业场景中,您的应用程序可以请求对某些资源的委托(delegate)访问。对于这些类型的服务器到服务器交互,您需要一个服务帐户。 https://developers.google.com/identity/protocols/OAuth2#serviceaccount

关于google-analytics - api key 、客户端 ID 和服务帐户之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39181501/

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