Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 烧瓶+;用于Twitter登录的Oauthlib:错误_Python_Twitter_Flask_Twitter Oauth_Flask Extensions - Fatal编程技术网

Python 烧瓶+;用于Twitter登录的Oauthlib:错误

Python 烧瓶+;用于Twitter登录的Oauthlib:错误,python,twitter,flask,twitter-oauth,flask-extensions,Python,Twitter,Flask,Twitter Oauth,Flask Extensions,我在virtualenv中使用Python3+Flask+OAuthlib来获取Twitter令牌和令牌密钥,以便开始使用我的应用程序 我正在复制托管在上的示例,只是替换了我的Flask应用程序的url 我还尝试在我的twitter应用程序设置中设置正确的回调url,或者使用login()函数所在的url,或者使用@twitter.authorized\u handler所在的url,但没有成功 我得到了这个错误: File "C:\Users\\pyws\flask_ws\flask_engi

我在virtualenv中使用Python3+Flask+OAuthlib来获取Twitter令牌和令牌密钥,以便开始使用我的应用程序

我正在复制托管在上的示例,只是替换了我的Flask应用程序的url

我还尝试在我的twitter应用程序设置中设置正确的回调url,或者使用
login()
函数所在的url,或者使用
@twitter.authorized\u handler
所在的url,但没有成功

我得到了这个错误:

File "C:\Users\\pyws\flask_ws\flask_engine\lib\site-packages\flask\app.py", line 1461, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args)
File "C:\Users\\pyws\flask_ws\flask_engine\lib\site-packages\flask_oauthlib\client.py", line 587, in decorated data = self.handle_oauth1_response()
File "C:\Users\\pyws\flask_ws\flask_engine\lib\site-packages\flask_oauthlib\client.py", line 526, in handle_oauth1_response _encode(self.access_token_method)
File "C:\Users\\pyws\flask_ws\flask_engine\lib\site-packages\oauthlib\oauth1\rfc5849\__init__.py", line 273, in sign
elif http_method.upper() in ('GET', 'HEAD') and has_params: AttributeError: 'NoneType' object has no attribute 'upper'`
我不明白这个错误:/
提前感谢您通过查看oauthlib源代码提供的帮助,远程应用程序中似乎没有定义
access\u token\u方法
属性。文档中说它默认为
“GET”
,但这在您的情况下似乎不起作用

尝试将其显式添加到您的
远程应用程序()
定义中

twitter = oauth.remote_app(
    'twitter',
    consumer_key='xBeXxg9lyElUgwZT6AZ0A',
    consumer_secret='aawnSpNTOVuDCjx7HMh6uSXetjNN8zWLpZwCEU4LBrk',
    base_url='https://api.twitter.com/1.1/',
    request_token_url='https://api.twitter.com/oauth/request_token',
    access_token_url='https://api.twitter.com/oauth/access_token',
    authorize_url='https://api.twitter.com/oauth/authenticate',
    access_token_method = 'GET' # <--- add this line
)
twitter=oauth.remote\u应用程序(
“推特”,
消费者_key='xbexg9lyelugwzt6az0a',
消费者_secret='aawnSpNTOVuDCjx7HMh6uSXetjNN8zWLpZwCEU4LBrk',
基本url=https://api.twitter.com/1.1/',
请求\u令牌\u url=https://api.twitter.com/oauth/request_token',
访问\u令牌\u url=https://api.twitter.com/oauth/access_token',
授权https://api.twitter.com/oauth/authenticate',

access_token_method='GET'#谢谢miguel。我已经添加了您所说的代码行,现在一切都正常了!!为什么oauthlib文档和示例中没有指定?谢谢您为我节省了很多时间,我打赌这不是故意的,我们通常称之为bug;-)@lepture是的,miguel提供了修复。抱歉这么晚才回答!