2012-05-09 15 views
1

私はDjango-social-authを使ってDjangoプロジェクトのユーザーを認証します。だから私は自分のTwitterアカウントに代わって投稿をするためにTwitterユーザーについて必要なすべての情報を持っていると思う。だから私は本当に新しいアプリをインストールする必要がありますか?または手元にある情報を使って私はどのようにしますか?関連情報をTwitter APIに投稿するだけの問題ではないのですか?Djangoユーザーがtwitterに投稿

答えて

2

あなたはDjangoの社会的な認証を使用するのであれば、あなたが行うことができます:

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)) 
+0

パスワードをお持ちの場合、別のユーザー名の代わりに投稿したい場合はどうすればいいですか? – sumanth232

0

はい、ユーザーのTwitterアカウントの詳細が必要な場合は、そうする(django)アプリを書くことができます。あなたはpython-twitterのようなものを使ってtwitterに投稿することができます。

Twitterのapi hereに関する詳細情報が必要です。

2

あなたは自分のプロジェクトにコードを抽出するだけで問題なく動作します。しかし、オープンソースライブラリを使用するメリットは、TwitterやソーシャルネットワークXがAPIを変更したときに、ライブラリが普及していれば、変更を加える必要がなくなります。

+0

良い点は、あなたが1を推奨する気でしょうか? – Bastian

+0

私はいくつかのプロジェクトでdjango-social-authを使っています。苦情はありません! – super9

+0

私が言ったように私はこのプロジェクトでもDSAを使います。このアプリでTwitterにどのように投稿しますか? – Bastian

関連する問題