如何仅使用 API 键来使用 API

How to use the API using only the API key

我正在尝试使用 curl(不要使用 gconsole 或 sdks)从我的家用计算机 运行 计算引擎 API。 我可以使用 OAuth 2.0 访问权限获得响应,但无法仅使用 api-key 获得响应。 我可以仅使用 API 键来使用 API 吗?

请求

curl https://compute.googleapis.com/compute/v1/projects/{PROJECT_ID}/zones/{ZONE}/instances/{INSTANCE_ID} 'Authorization: Bearer [ACCESS_TOKEN]'

请求

curl https://compute.googleapis.com/compute/v1/projects/{PROJECT_ID}/zones/{ZONE}/instances/{INSTANCE_ID}?key={MY_API_KEY}

回应

{
  "error": {
    "code": 401,
    "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "errors": [
      {
        "message": "Login Required.",
        "domain": "global",
        "reason": "required",
        "location": "Authorization",
        "locationType": "header"
      }
    ],
    "status": "UNAUTHENTICATED"
  }
}

你需要了解public和私有数据的区别。 Public 数据是不为任何人所有且为 public 保留的数据。要访问 public 数据,您可以使用 api 键。

然而,有些方法是私人用户数据,为了访问它们,您需要获得访问该数据的授权

如果您查看方法 projects/get 的文档,您会看到它指出

这正是您的错误消息告诉您的内容

Request is missing required authentication credential.

所以答案是你不能。您不能使用 API 密钥来访问您必须获得授权的私人用户数据。

它告诉你这个方法是用户数据,需要授权才能访问它。