【发布时间】:2018-04-02 18:30:34
【问题描述】:
尝试使用谷歌翻译 API。在凭证中有: 1) API 密钥 2) OAuth 2.0 客户端 ID 3) 服务帐号密钥
现在我脑子里一片混乱。我做过一个客户。我只是无法在他们的系统中进行身份验证。
【问题讨论】:
标签: android api google-api google-oauth google-api-client
尝试使用谷歌翻译 API。在凭证中有: 1) API 密钥 2) OAuth 2.0 客户端 ID 3) 服务帐号密钥
现在我脑子里一片混乱。我做过一个客户。我只是无法在他们的系统中进行身份验证。
【问题讨论】:
标签: android api google-api google-oauth google-api-client
凭据、访问权限、安全性和身份 控制台中表示的对 API 的每个请求都必须包含唯一标识符。唯一标识符使控制台能够将请求与特定项目联系起来,以监控流量并实施配额。
Google 支持两种创建唯一标识符的机制:
OAuth 2.0 客户端 ID:对于使用 OAuth 2.0 协议调用 Google API 的应用程序,您可以使用 OAuth 2.0 客户端 ID 来生成访问令牌。令牌包含唯一标识符。有关详细信息,请参阅设置 OAuth 2.0。
API 密钥:API 密钥是您使用控制台生成的唯一标识符。使用 API 密钥不需要用户操作或同意。 API 密钥不授予对任何帐户信息的访问权限,也不用于授权。
当您的应用程序在服务器上运行并访问以下类型的数据之一时,请使用 API 密钥:
数据所有者已标识为公开的数据,例如公开日历或博客。 由 Google 服务(例如 Google 地图或 Google 翻译)拥有的数据。 (访问限制可能适用。) 有关详细信息,请参阅设置 API 密钥。
如果您只调用不需要用户数据的 API,例如 Google 自定义搜索 API,那么 API 密钥可能比 OAuth 2.0 访问令牌更易于使用。但是,如果您的应用程序已经使用 OAuth 2.0 访问令牌,则也无需生成 API 密钥。如果传递的 OAuth 2.0 访问令牌已经与相应的项目相关联,Google 会忽略传递的 API 密钥。
注意:对于 Cloud Platform Console 中表示的对 Google API 的所有请求,您必须使用 OAuth 2.0 访问令牌或 API 密钥。并非所有 API 都需要授权调用。要了解特定调用是否需要授权,请参阅您正在使用的 API 的文档。
【讨论】: