我正试图使用以下代码从Python中向Google Cloud函数发出授权请求:
import google.auth
from google.auth.transport.urllib3 import AuthorizedHttp
credentials, project = google.auth.default()
authed_http = AuthorizedHttp(credentials)
url = "MY_CLOUD_FUNCTON_URL"
response = authed_http.request('POST', url)
但我得到了以下错误:
google.auth.exceptions.RefreshError: ('invalid_scope: Invalid OAuth scope or ID token audience provided.', '{"error":"invalid_scope","error_description":"Invalid OAuth scope or ID token audience provided."}')
这让我认为我的凭据设置不正确,但如果我使用从命令行运行调用,调用就会工作
gcloud functions call MY_CLOUD_FUNCTION --data '{"name":"example"}'
有人知道我为什么会犯这个错误吗?任何帮助都将不胜感激!
这里的答案取决于您试图从哪里调用函数。
如果它在GCP基础设施(应用程序引擎、云功能等(中,您应该使用"验证开发人员、功能和最终用户"中"功能到功能"部分的步骤。
如果是外部的,您应该遵循"服务到功能"指南。