gpt4 book ai didi

python - google-python-api-client 刷新 token 为空

转载 作者:行者123 更新时间:2023-12-01 09:21:21 24 4
gpt4 key购买 nike

我尝试将刷新 token 与 google-python-api-client 一起使用,以避免用户每次都对应用程序进行身份验证。

我有以下代码,通过让用户每次都进行身份验证来构建健身服务

from apiclient.discovery import build
from oauth2client import tools
from oauth2client.file import Storage
from oauth2client.client import AccessTokenRefreshError
from oauth2client.client import OAuth2WebServerFlow
import httplib2

scope = "https://www.googleapis.com/auth/fitness.activity.read"
flow = OAuth2WebServerFlow(client_id, client_secret, scope, redirect_url)
auth_uri = flow.step1_get_authorize_url()
print auth_uri

token = str(input("Enter token"))

cred = flow.step2_exchange(token)
storage = Storage("credentials_file")
storage.put(cred)

storage = Storage("credentials_file")
cred2 = storage.get()

http = httplib2.Http()
http = cred2.authorize(http)
service = build('fitness', 'v1',http=http)

但是,重复身份验证显然并不理想,因此我尝试将其转换为可以使用刷新 token 刷新访问 token 的代码。但是,运行此代码后,cred.refresh_token 和 cred2.refresh_token 均为 None。如何获取刷新 token ?

最佳答案

更新,我知道为什么它是空的

这一行:

flow = OAuth2WebServerFlow(client_id, client_secret, scope, redirect_url)

需要编辑如下:

flow = OAuth2WebServerFlow(
client_id,
client_secret,
scope,
redirect_url,
approval_prompt='force'
)

关于python - google-python-api-client 刷新 token 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50774052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com