0

正如这里提到的,我创建了用于使用集群操作的 API 密钥。

例如对于这个查询:

https://www.googleapis.com/container/v1beta1/projects/PROJECT_ID/clusters

如前所述

获得 API 密钥后,您的应用程序可以将查询参数 key=yourAPIKey 附加到所有请求 URL。

我将它添加到网址:

https://www.googleapis.com/container/v1beta1/projects/PROJECT_ID/clusters?key=my_key

但我有错误:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Login Required",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Login Required"
 }
}

我什至尝试将密钥添加到标题的授权部分......并且出现了这个错误:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "authError",
    "message": "Invalid Credentials",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Invalid Credentials"
 }
}

问题出在哪里?还是我做错了什么?

4

1 回答 1

0

根据API Keys 的 Google 帮助文档(已添加重点):

API 密钥(服务器密钥或浏览器密钥)是您使用开发者控制台生成的唯一标识符。使用 API 密钥不需要用户操作或同意。API 密钥不授予对任何帐户信息的访问权限,也不用于授权

此外,它表示它们可用于访问公共数据或 Google 服务拥有的数据。Google Container Clusters (GKE) 数据都不是这些。我不确定为什么文档建议使用 API 密钥,但我知道 OAuth 可以工作,所以如果你可以使用它,你应该能够让 REST API 工作。

于 2015-03-03T07:33:54.270 回答