Django用户发布到Twitter

时间:2012-05-09 09:54:00

标签: python django twitter

我使用Django-social-auth来验证Django项目的用户。所以我想我有关于Twitter用户的所有必要信息,以便在他们的Twitter帐户上代表他们发帖。那么我真的需要安装一个新的应用程序吗?或者手头的信息我该怎么做?是不是只是用相关信息发布到Twitter API?

3 个答案:

答案 0 :(得分:2)

您可以将代码解压缩到您自己的项目中,这样就可以了。但是使用开源库的好处是,当Twitter或社交网络X更改它的API时,很有可能,如果受欢迎的话,库将会更新而不是您需要进行更改。

答案 1 :(得分:2)

因此,如果你使用Django Social Auth,你可以这样做:

import urllib
import settings
import oauth2 as oauth

try:
    twitter_user = user.social_auth.get(provider='twitter')
except:
    return
if not twitter_user.tokens:
    return
access_token = twitter_user.tokens['oauth_token']
access_token_secret = twitter_user.tokens['oauth_token_secret']

token = oauth.Token(access_token,access_token_secret)
consumer_key = settings.TWITTER_CONSUMER_KEY
consumer_secret = settings.TWITTER_CONSUMER_SECRET
consumer = oauth.Consumer(consumer_key,consumer_secret)
client = oauth.Client(consumer,token)

data = {'status':'Your tweet goes here'}
request_uri = 'https://api.twitter.com/1/statuses/update.json'
resp, content = client.request(request_uri, 'POST', urllib.urlencode(data))

答案 2 :(得分:0)

是的,我相信如果您拥有必要的用户的Twitter帐户详细信息,那么您可以编写一个(django)应用程序来执行此操作。您可以使用python-twitter之类的内容发布到Twitter。

您应该能够找到有关Twitter的api here的更多信息。