是否可以在不使用Django的情况下使用Twython构建基于桌面的应用程序? Oauth2引起问题

时间:2011-09-15 10:31:35

标签: python oauth-2.0

我下载了Twython源代码并在我的系统上编译了它。我正在开发桌面应用程序,而不是Web应用程序。因此,我没有看到在我的小项目中使用Django-Oauth2实现。

这是在twython.py

中提出的
self.request_token_url = 'http://twitter.com/oauth/request_token'
        self.access_token_url = 'http://twitter.com/oauth/access_token'
        self.authorize_url = 'http://twitter.com/oauth/authorize'
        self.authenticate_url = 'http://twitter.com/oauth/authenticate'
        self.twitter_token = twitter_token
        self.twitter_secret = twitter_secret
        self.oauth_token = oauth_token
        self.oauth_secret = oauth_token_secret
        self.callback_url = callback_url

这里的问题是,

我不知道什么是“twitter_secret”或“twitter_token”。在twitter dev中,在注册我的应用程序后,我获得了客户密钥和秘密。此外,有Twitter密钥和秘密。我的callback_url是None。并且,由于Twitter强迫我提到一个网站,我给了我的本地地址,它被接受了。现在,我不知道如何推进Oauth2身份验证。

接下来我该怎么做?

1 个答案:

答案 0 :(得分:1)

我是Twython的作者。

可悲的是,OAuth是一种不太理想的方法,可用于在Web浏览器之外进行身份验证。虽然你有可能找到一些hacky方法来实现这个功能,但如果你担心用户体验,你可能只想从Twitter请求xAuth权限:

https://dev.twitter.com/docs/auth

它仍然是OAuth,因此大多数内部Twython作品应该没问题。虽然Twython并不直接支持xAuth(由于Twitter的主张而不是使用它......),如果有足够的人需要,我肯定愿意接受一两个补丁。 ;)

另一种选择是OOB身份验证(这需要您的用户获取和输入PIN,而不是通常很棒的用户体验)。