2011-05-18 68 views
4

我使用Twython作为我的Twitter API包装器,并使用oauth2来处理认证。我试图通过twitter使用登录,然后在oauth舞蹈之后将他重定向到动态生成的oauth_callback。然而,这似乎不可能直接用这些库来完成。我的问题是,我的oauth客户端(python-oauth2)不支持回调URL。我觉得这很奇怪,因为这是Twython使用的默认oauth客户端 - 他们为什么会打扰编写代码来适应动态回调的使用,然后将库与不支持回调的oauth客户端捆绑在一起? Line 54 is set to false,因此我的回调url永远不会包含在请求令牌url中,如required in the oAuth 1.0a specspython-oauth2与Twitter的oauth_callback

我试过修改Twython和oauth2,但我一直遇到问题。我想知道是否有支持oauth_callback的python-oauth2的替代方法,或者是可以正确处理oauth的替代twitter库。

+1

嘿!我是Twython的作者 - 这是一个需要解决的问题;正如我在此主题的另一评论中指出的那样,我将在稍后修补它并发布它。谢谢! – 2011-05-23 09:10:40

+0

我很高兴能够使用。感谢Twython的伟大工作! – 2011-05-23 23:35:01

回答

9

找到了答案here

所有您需要做的是通过Twython参数callback_url与

resp, content = client.request(request_token_url, "POST",body=urllib.urlencode({'oauth_callback':my_callback_url}))

通知更换线205 Twython.py,如果你想叽叽喳喳尊重你oauth_callback参数,请求必须是POST。

+2

嘿!我是Twython的作者 - 这是一个很好的发现,我将在本周晚些时候添加一个补丁来修复它! ;) – 2011-05-23 09:10:10