代表已经认证我的应用程序的用户发布推文?

2024-05-14 14:46:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个应用程序,在这个应用程序中,用户可以sign-up via twitter,并且我设置了读、写和直接消息的权限,所以当用户注册到我的项目时,他授权我可以代表他发帖子。在注册期间,我也得到了他的o auth-token and oauth-token secret。在

但我不知道如何才能代表那个用户发布微博。我试图在https://api.twitter.com/1.1/statuses/update.json提交一个表单,上面有类似parmas的状态、我的应用程序密钥和密码、用户oauth_令牌和secret,但是作为回应,我总是得到这个

{"errors":[{"message":"Bad Authentication data","code":215}]}

我使用python社交认证通过twitter注册。在

任何帮助都将不胜感激。 谢谢


Tags: 项目用户token应用程序消息权限secret代表
1条回答
网友
1楼 · 发布于 2024-05-14 14:46:49

您需要在请求中指定用户access_token,这是Twitter知道当前经过身份验证的用户是谁的方式。使用python-social-auth可以执行以下操作:

# given a user instance (and assuming Django ORM)
social = user.social_auth.get(provider='twitter')
backend = social.get_backend()
form_data = {
    'status': 'The new twitter status goes here'
}
response = backend.get_json(
    'https://api.twitter.com/1.1/statuses/update.json', 
    method='POST',
    auth=backend.oauth_auth(social.extra_data['access_token']),
    data=form_data
)

相关问题 更多 >

    热门问题