我使用Twython作为我的Twitter API包装器,使用oauth2来处理身份验证。我正试图通过twitter登录,然后在oauth舞蹈之后将他重定向到动态生成的oauth_callback。然而,这似乎无法直接使用这些库。我的问题是我的oauth客户端(python-oauth2)不支持回调网址。我觉得这很奇怪,因为这是Twython使用的默认oauth客户端 - 他们为什么要编写代码以适应动态回调的使用,然后将库与不支持回调的oauth客户端捆绑在一起? Line 54 is set to false,因此我的回调网址永远不会包含在请求令牌网址中,如required in the oAuth 1.0a specs。
我已经尝试修改Twython和oauth2,但我一直遇到问题。我想知道是否有替代python-oauth2支持oauth_callback,或者可能是一个可以正确处理oauth的替代twitter库。
答案 0 :(得分:9)
找到答案here
你需要做的就是传递Twython参数callback_url并用Twython.py替换第205行
resp, content = client.request(request_token_url, "POST",body=urllib.urlencode({'oauth_callback':my_callback_url}))
注意,如果您希望twitter尊重您的oauth_callback参数,请求必须是POST。