我需要从本地编写的python代码调用(OAuth -客户端凭证流和授权代码流) http cloud函数。
我已经在OAuth项目上创建了gcp2.0客户端I。
下面的代码用于获取访问令牌,但这是转到google登录页面并显示错误。我们可以帮助理解一下如何从本地python代码调用云函数吗?任何例子或指导都将是非常有用的。
从google_auth_oauthlib导入流oauthcredential= "client_secret.json“# OAuth 2.0客户端ID JSON launch_browser = True #在本地使用时为True#,在远程appflow = flow.InstalledAppFlow.from_client_secrets_file(oauthcredential,scopes='https://www.googleapis.com/auth/userinfo.profile')时为False
if launch_browser: appflow.run_local_server()否则: appflow.run_console()
凭据= appflow.credentials
发布于 2021-04-22 20:07:01
要调用受保护的云函数,您需要身份令牌,而不是访问令牌。您不能在代码中从自己的用户凭据生成id令牌(只能使用gcloud
命令行),您可以使用服务帐户密钥文件来实现这一点(作为I explain in this article,这并不理想)。
在代码中,设置引用服务帐户密钥文件路径的GOOGLE_APPLICATION_CREDENTIALS
环境变量,然后可以使用fetch_id_token
函数获取id令牌
https://stackoverflow.com/questions/67210317
复制相似问题