在 gcloud 中,凭据有什么区别?

In gcloud what is the difference in credentials?

正在尝试使用 google 翻译 API。在凭证中有: 1) API 键 2) OAuth 2.0 客户端 ID 3) 服务帐户密钥

现在我脑子里一片混乱。我做过一个客户端。我只是无法在他们的系统中进行身份验证。

凭据、访问权限、安全性和身份 对控制台中显示的 API 的每个请求都必须包含一个唯一标识符。唯一标识符使控制台能够将请求绑定到特定项目以监控流量和强制执行配额。

Google 支持两种创建唯一标识符的机制:

OAuth 2.0 客户端 ID:对于使用 OAuth 2.0 协议调用 Google API 的应用程序,您可以使用 OAuth 2.0 客户端 ID 生成访问令牌。令牌包含唯一标识符。有关详细信息,请参阅设置 OAuth 2.0。

API 键:API 键是您使用控制台生成的唯一标识符。使用 API 密钥不需要用户操作或同意。 API 密钥不授予对任何帐户信息的访问权限,也不用于授权。

当您的应用程序 运行 在服务器上并访问以下数据之一时,请使用 API 密钥:

数据所有者已标识为 public 的数据,例如 public 日历或博客。 Google 服务(例如 Google 地图或 Google 翻译)拥有的数据。 (访问限制可能适用。) 有关详细信息,请参阅设置 API 键。

如果您只调用不需要用户数据的 API,例如 Google 自定义搜索 API,那么 API 键可能更简单使用比 OAuth 2.0 访问令牌。但是,如果您的应用程序已经使用 OAuth 2.0 访问令牌,则也无需生成 API 密钥。如果传递的 OAuth 2.0 访问令牌已经与相应的项目关联,Google 将忽略传递的 API 密钥。

注意:对于云平台控制台中显示的 Google API 的所有请求,您必须使用 OAuth 2.0 访问令牌或 API 密钥。并非所有 API 都需要授权调用。要了解特定调用是否需要授权,请参阅您正在使用的 API 的文档。