Python中的谷歌云授权HTTP请求



我正试图使用以下代码从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基础设施(应用程序引擎、云功能等(中,您应该使用"验证开发人员、功能和最终用户"中"功能到功能"部分的步骤。

如果是外部的,您应该遵循"服务到功能"指南。

最新更新