正如标题所述,我无法刷新访问令牌,因为它给了我一个unauthorized_client
错误。过去一个月以前,它可以完美运行,但现在不起作用。
这是我获取令牌的方式:
我的android应用使用同意屏幕以所需的范围登录,并将令牌发送到我的服务器
然后,我的django服务器将它们保存起来,以便以后可以刷新访问令牌。
creds = google.oauth2.credentials.Credentials(credentials.access_token,refresh_token=credentials.refresh_token,token_uri=token_uri,client_id=client_id_2,client_secret=client_secret,scopes=scopes)
此行从数据库中加载值并将其加载到Credentials
对象中。
注意:
clientid's
,一个用于Android,一个用于Web客户端。clientid
刷新令牌问题:
clientid
,则会引发错误invalid_client
clientid
,则说unauthorized_client
我尝试过的事情:
clientid
示例代码:
creds = google.oauth2.credentials.Credentials(credentials.access_token,refresh_token=credentials.refresh_token,token_uri=token_uri,client_id=client_id_2,client_secret=client_secret,scopes=scopes)
req = google.auth.transport.requests.Request()
creds.refresh(req)
答案 0 :(得分:0)
您提到要从客户端向服务器发送访问令牌,以便以后可以刷新它。所以你有两个令牌
您可以只检查一次这些事情吗:-
如果您想从Google方面进行验证。 您可以在客户端登录后立即从客户端获取刷新令牌,然后将其发送给Google进行刷新,以查看您是获取令牌还是遭到未经授权。