【发布时间】:2015-10-21 04:32:53
【问题描述】:
我已经构建了一个带有文本区域的 Django 网页,我希望该站点的用户能够发布文本区域的内容。
我已经能够在自己的帐户上发帖(使用开发人员凭据),但是我无法提取用户的秘密令牌(在使用 python social auth 登录后获得),没有这个他们无法发帖。
问题似乎是在保存此信息的字典中找不到秘密令牌。请记住,通过 OAuth 登录可以正常工作;过了这一点,我没有做什么,或者做得不正确,这意味着“oauth_secret_token”无法找到/不存在?
views.py
def form_handle(request):
form = MyForm()
if request.method=='POST':
form = MyForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
text = cd.get('text')
if 'tweet' in request.POST:
user = request.user
soc = user.social_auth.get(provider='twitter')
access_token = soc.extra_data['access_token']
access_secret = soc.extra_data['oauth_token_secret'] <-- error generated here.
post_tweets().post_my_tweet(text, access_token, access_secret)
form = MyForm()
return render(request, 'hello.html',{'form':form})
else:
form = MyForm()
return render(request, 'hello.html',{'form':form})
twitter_posting.py
from twitter import *
class post_tweets():
ckey= "XXXXXXXXXXXXX"
csecret= "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
def post_my_tweet(self, tweet, atoken, asecret):
t = Twitter(auth=OAuth(atoken, asecret, self.ckey, self.csecret))
t.statuses.update(status= str(tweet))
编辑:
我在这里阅读了 Tweepy 文档:http://docs.tweepy.org/en/v3.2.0/auth_tutorial.html
这里还有 Twython 文档:https://twython.readthedocs.org/en/latest/usage/basic_usage.html#updating-status
我确信这两个库都可以帮助我,但是无法弄清楚如何将它应用到我的代码中。来自这些社区之一的人能否给我一个示例,说明如何修改它以便它从用户帐户发送推文?
【问题讨论】:
标签: django twitter twitter-oauth tweepy twython