Twitter APIで遊んでみたいのですが、django social authでログインした後、APIにアクセスしたり、TimeLine、RTなどを取得したりする方法がわかりません。
Django social Authで認証した後、ストリーミングやタイムラインなどにアクセスするために使用できる別のTwitterライブラリの例を誰かが提供できますか?
tweepyをチェックしていますが、tweepy authメソッドを使用する必要がない場合、使用方法がわかりません。
Twitter APIで遊んでみたいのですが、django social authでログインした後、APIにアクセスしたり、TimeLine、RTなどを取得したりする方法がわかりません。
Django social Authで認証した後、ストリーミングやタイムラインなどにアクセスするために使用できる別のTwitterライブラリの例を誰かが提供できますか?
tweepyをチェックしていますが、tweepy authメソッドを使用する必要がない場合、使用方法がわかりません。
Django-social-auth docsのこの例は、必要なものを示しています。
>>> from pprint import pprint
>>> from social_auth.models import UserSocialAuth
>>> instance = UserSocialAuth.objects.filter(provider='twitter').get(...)
>>> pprint(instance.tokens)
{u'oauth_token': u'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
u'_token_secret': u'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'}
UserSocialAuthモデルは、必要なアクセストークンを自動的に保存します。tokens
属性を介してそれらにアクセスします。
お役に立てば幸いです。
ユーザーに関連付けられたUserSocialAuthインスタンスからトークンを取得する必要があります。
try:
instance = UserSocialAuth.objects.filter(user=request.user).get()
except ObjectDoesNotExist:
return redirect(getattr(settings,'LOGIN_URL','/login/twitter/'))
インスタンスを取得した後、キーを取得します。
oauth_access_token=(instance.tokens).get('oauth_token')
oauth_access_secret=(instance.tokens).get('oauth_token_secret')
トークンとシークレットを使用すると、選択したパッケージを使用してTwitterに接続できるようになります。
ユーザーがアプリにTwitterへのアクセスを許可すると、アクセストークンとアクセストークンシークレットを取得します。データベースに保存します。これを使用してAPIにアクセスします。
例は次のとおりです:https ://github.com/tweepy/tweepy/blob/master/examples/oauth.py