如何仅使用 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 密钥来访问您必须获得授权的私人用户数据。
它告诉你这个方法是用户数据,需要授权才能访问它。
我正在尝试使用 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 密钥来访问您必须获得授权的私人用户数据。
它告诉你这个方法是用户数据,需要授权才能访问它。