【发布时间】:2022-01-26 13:21:55
【问题描述】:
为了获取已启用的 GCP-api 服务列表,我正在尝试根据 link 中的此 HTTP 请求获取 service.list。
这是我的代码:
import json
from requests.auth import HTTPBasicAuth
import requests
from google.oauth2 import service_account
auth = HTTPBasicAuth('myusername@gmail.com','xyz....')
url = 'https://serviceusage.googleapis.com/v1/projects/my-proj-id123/services'
headers = {
"Accept": "application/json"
}
response = requests.request(
"GET",
url,
headers=headers,
auth=auth
)
# a=json.loads(response.text)
print(response.text)
但我收到此错误:
{
"error": {
"code": 403,
"message": "The request is missing a valid API key.",
"status": "PERMISSION_DENIED"
}
}
注意:我需要通过 服务帐户 或 api 令牌 获得根据 link 的响应的方法。我有服务帐户密钥 (credential.json) 但我不知道将 http 请求放在哪里。请建议我的程序。
【问题讨论】:
-
关于如何设置授权的说明位于here。
credentials.json应该位于您的主目录中。 -
Google Cloud 不支持 HTTP 基本授权。对于大多数 API,您必须使用 Bearer 令牌。 授权:Bearer TOKEN.
标签: python google-cloud-platform google-oauth google-api-client google-api-python-client