我想玩 twitter API,但是在使用 django social auth 登录后,我不知道如何访问 API、获取 TimeLine、RT 等。
任何人都可以提供另一个 twitter 库的示例,在使用 Django 社交身份验证后,我可以使用它来访问流、时间线等?
我正在检查tweepy但如果我不需要使用 tweepy auth 方法,我看不到如何使用它。
我想玩 twitter API,但是在使用 django social auth 登录后,我不知道如何访问 API、获取 TimeLine、RT 等。
任何人都可以提供另一个 twitter 库的示例,在使用 Django 社交身份验证后,我可以使用它来访问流、时间线等?
我正在检查tweepy但如果我不需要使用 tweepy auth 方法,我看不到如何使用它。
Django-social-auth 文档中的这个示例显示了您需要的内容:
>>> 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