Python 3.x OAuth2(不支持的授予类型)无效的授予类型:客户端凭据
我正在尝试获取GoogleDriveAPI的访问令牌,以便将其用于Python脚本中的后续请求。然而,我得到了一个无效的grant_类型错误,这有点令人困惑 我正在使用Python 3.x OAuth2(不支持的授予类型)无效的授予类型:客户端凭据,python-3.x,oauth-2.0,google-drive-api,Python 3.x,Oauth 2.0,Google Drive Api,我正在尝试获取GoogleDriveAPI的访问令牌,以便将其用于Python脚本中的后续请求。然而,我得到了一个无效的grant_类型错误,这有点令人困惑 我正在使用oauthlib和requests\u oauthlib,因为oauth2client已被正式弃用 from oauthlib.oauth2 import BackendApplicationClient from requests_oauthlib import OAuth2Session client = BackendAp
oauthlib
和requests\u oauthlib
,因为oauth2client
已被正式弃用
from oauthlib.oauth2 import BackendApplicationClient
from requests_oauthlib import OAuth2Session
client = BackendApplicationClient(client_id=client_id)
oauth = OAuth2Session(client=client)
token = oauth.fetch_token(token_url='https://accounts.google.com/o/oauth2/token', client_id=client_id, client_secret=client_secret, scope="https://www.googleapis.com/auth/drive.readonly")
这就是我得到的错误
回溯(最近一次调用last):文件“sample.py”,第10行,在
token=oauth.fetch\u token(token\u url='',
客户号=客户号,客户号=客户号,
范围=”https://www.googleapis.com/auth/drive.readonly)文件
“/Users/kaybus/anaconda/lib/python3.6/site packages/requests\u oauthlib/oauth2\u session.py”
第244行,在fetch_令牌中
self.\u client.parse\u request\u body\u response(r.text,scope=self.scope)文件
“/Users/kaybus/anaconda/lib/python3.6/site packages/oauthlib/oauth2/rfc6749/clients/base.py”
第408行,在parse_request_body_response中
self.token=parse_token_response(body,scope=scope)文件“/Users/kaybus/anaconda/lib/python3.6/site packages/oauthlib/oauth2/rfc6749/parameters.py”
第379行,在parse_token_响应中
验证令牌参数(params)文件“/Users/kaybus/anaconda/lib/python3.6/site packages/oauthlib/oauth2/rfc6749/parameters.py”
第386行,在validate_token_参数中
从_error(params.get('error'),params)文件“/Users/kaybus/anaconda/lib/python3.6/site packages/oauthlib/oauth2/rfc6749/errors.py”引发_“
第406行,从\u升起\u错误
raise cls(**kwargs)oauthlib.oauth2.rfc6749.errors.UnsupportedGrantTypeError:
(不支持的授予类型)无效的授予类型:客户端凭据
我相信很多人都会遇到这个问题。我是不是做错了什么?请告诉我你是怎么解决的。提前感谢。从我在本文中看到的内容来看,Google API似乎不支持
客户端凭据
授权类型。此外,您还收到了这些错误,因为您可能将url数据(用户名、密码、授权类型)添加到标题中,而不是添加到body元素中。检查一下。你也可以参考这篇文章。从我在这篇文章中看到的内容来看,谷歌API似乎不支持client\u凭证
grant\u类型。除此之外,你还收到了这些错误,因为你可能将url数据(用户名、密码、grant\u类型)添加到标题中,而不是添加到body元素中。检查一下。你也可以参考这个。