Python 后端应用程序流中的OAuth2 InvalidScopeError

Python 后端应用程序流中的OAuth2 InvalidScopeError,python,api,oauth-2.0,access-token,Python,Api,Oauth 2.0,Access Token,我正在尝试实现后端应用程序流,以从DataHugAPI获取访问令牌(按照中的说明) 运行此代码时,我得到一个InvalidScopeError,即 user:dh user$ python so_test.py Traceback (most recent call last): File "so_test.py", line 21, in <module> token = get_access_token() File "so_test.py", line 17,

我正在尝试实现后端应用程序流,以从DataHugAPI获取访问令牌(按照中的说明)

运行此代码时,我得到一个InvalidScopeError,即

user:dh user$ python so_test.py
Traceback (most recent call last):
  File "so_test.py", line 21, in <module>
    token = get_access_token()
  File "so_test.py", line 17, in get_access_token
    client_secret=client_secret)
  File "/Users/user/anaconda3/lib/python3.5/site-packages/requests_oauthlib/oauth2_session.py", line 244, in fetch_token
    self._client.parse_request_body_response(r.text, scope=self.scope)
  File "/Users/user/anaconda3/lib/python3.5/site-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 409, in parse_request_body_response
    self.token = parse_token_response(body, scope=scope)
  File "/Users/user/anaconda3/lib/python3.5/site-packages/oauthlib/oauth2/rfc6749/parameters.py", line 376, in parse_token_response
    validate_token_parameters(params)
  File "/Users/user/anaconda3/lib/python3.5/site-packages/oauthlib/oauth2/rfc6749/parameters.py", line 383, in validate_token_parameters
    raise_from_error(params.get('error'), params)
  File "/Users/user/anaconda3/lib/python3.5/site-packages/oauthlib/oauth2/rfc6749/errors.py", line 325, in raise_from_error
    raise cls(**kwargs)
oauthlib.oauth2.rfc6749.errors.InvalidScopeError: (invalid_scope) 
user:dh user$python so\u test.py
回溯(最近一次呼叫最后一次):
文件“so_test.py”,第21行,在
令牌=获取\访问\令牌()
文件“so_test.py”,第17行,在get_access_令牌中
客户机密=客户机密)
文件“/Users/user/anaconda3/lib/python3.5/site packages/requests\u oauthlib/oauth2\u session.py”,第244行,在fetch\u令牌中
self.\u client.parse\u request\u body\u response(r.text,scope=self.scope)
文件“/Users/user/anaconda3/lib/python3.5/site packages/oauthlib/oauth2/rfc6749/clients/base.py”,第409行,在parse\u request\u body\u response中
self.token=parse\u token\u响应(主体,作用域=scope)
文件“/Users/user/anaconda3/lib/python3.5/site packages/oauthlib/oauth2/rfc6749/parameters.py”,第376行,在parse_token_响应中
验证令牌参数(参数)
验证令牌参数中的文件“/Users/user/anaconda3/lib/python3.5/site packages/oauthlib/oauth2/rfc6749/parameters.py”,第383行
从错误中引发错误(params.get('error'),params)
文件“/Users/user/anaconda3/lib/python3.5/site packages/oauthlib/oauth2/rfc6749/errors.py”,第325行,从错误开始
升起cls(**kwargs)
oauthlib.oauth2.rfc6749.errors.InvalidScopeError:(无效的\u范围)

问题似乎出在值
scope='datahug\u api'
中,但这是datahug api中建议的值。非常感谢您对如何解决此问题的任何建议。

您在oauth.fetch\u token()中缺少作用域。
因此,您的变量标记应该是:

token = oauth.fetch_token(token_url=token_url,scope=scope,client_id=client_id,
                          client_secret=client_secret)

您在oauth.fetch_token()中缺少作用域。
因此,您的变量标记应该是:

token = oauth.fetch_token(token_url=token_url,scope=scope,client_id=client_id,
                          client_secret=client_secret)

关于必须使用
POST
的说明,为什么不这样做?关于必须使用
POST
的说明,为什么不这样做?