3

我想玩 twitter API,但是在使用 django social auth 登录后,我不知道如何访问 API、获取 TimeLine、RT 等。

任何人都可以提供另一个 twitter 库的示例,在使用 Django 社交身份验证后,我可以使用它来访问流、时间线等?

我正在检查tweepy但如果我不需要使用 tweepy auth 方法,我看不到如何使用它。

4

3 回答 3

4

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属性访问它们。

希望有帮助。

于 2012-05-04T19:30:46.720 回答
2

您需要从与用户关联的 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。

于 2012-09-16T09:32:41.813 回答
1

当用户授予您的应用访问 Twitter 的权限时,您将获得访问令牌和访问令牌密钥。将其保存在您的数据库中。您使用它来访问 API。

示例位于:https ://github.com/tweepy/tweepy/blob/master/examples/oauth.py

于 2012-04-23T18:43:46.923 回答