我正在尝试获取Google Drive API的访问令牌,以便将其用于我的Python脚本的后续请求。但是我收到了一个无效的grant_type错误,这有点令人困惑。
我正在使用oauthlib
和requests_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")
这是我得到的错误
回溯(最近一次调用最后一次):文件“sample.py”,第10行,in 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”)文件 “/Users/kaybus/anaconda/lib/python3.6/site-packages/requests_oauthlib/oauth2_session.py”,
第244行,在fetch_token中 self._client.parse_request_body_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_response中 validate_token_parameters(params)文件“/Users/kaybus/anaconda/lib/python3.6/site-packages/oauthlib/oauth2/rfc6749/parameters.py”,
第386行,在validate_token_parameters中 raise_from_error(params.get('error'),params)file“/Users/kaybus/anaconda/lib/python3.6/site-packages/oauthlib/oauth2/rfc6749/errors.py”,
第406行,在raise_from_error中 提升cls(** kwargs)oauthlib.oauth2.rfc6749.errors.UnsupportedGrantTypeError: (unsupported_grant_type)grant_type:client_credentials
无效
我相信很多人可能会遇到这个问题。我做了一些根本错误的事吗?请让我知道你是如何解决它的。提前谢谢。