我正在尝试编写一个小型Twitter应用程序。我已经设法从Twitter文档运行身份验证Python示例,例如,我可以从“statuses / home_timeline.json”获取数据。
但现在我正在尝试使用“statuses / user_timeline.json”,而且没有骰子。
这是我正在使用的代码。这只是对网页中示例的修改。有什么不对?我对服务URI进行了三重检查。这不正确吗?
我正在使用github的python-oauth2-1.0.0版本,该文档引用的项目,但这是相当古老的。我应该使用更好的模块吗?顺便说一下,client.request
中的参数不正确。
另一件事:我可以使用curl运行查询,在Twitter开发网页上创建命令行。
import oauth2 as oauth
CONSUMER_KEY = 'xxxxxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxxxxxxxxxxxxxx'
ACCESS_KEY = 'xxxxxxxxxxxx'
ACCESS_SECRET = 'xxxxxxxxxxxxxxxxx'
def oauth_req(url, key, secret, http_method="GET", post_body=None,
http_headers=None):
consumer = oauth.Consumer(key=CONSUMER_KEY, secret=CONSUMER_SECRET)
token = oauth.Token(key=key, secret=secret)
client = oauth.Client(consumer, token)
resp, content = client.request(
url,
method=http_method,
body=post_body,
headers=http_headers
)
return content
# home_timeline = oauth_req(
# 'https://api.twitter.com/1.1/statuses/home_timeline.json',
# ACCESS_KEY,
# ACCESS_SECRET
# )
home_timeline = oauth_req(
'https://api.twitter.com/1.1/statuses/user_timeline.json?count=3&screen_name=twitterapi',
ACCESS_KEY,
ACCESS_SECRET
)
print home_timeline
答案 0 :(得分:2)
我建议使用Twython包。您可以使用以下方式安装它:
pip install twython
或 easy_install twython
您可以使用以下代码获取用户时间表
import twython
CONSUMER_KEY = 'XXXXXXXXXXXX'
CONSUMER_SECRET = 'XXXXXXXXXXXXXXX'
twitter = twython.Twython(CONSUMER_KEY,CONSUMER_SECRET)
home_timeline = twitter.get_user_timeline(screen_name='@twitterapi')
print home_timeline
答案 1 :(得分:0)
在我安装了最新版本的python-oauth2之后,它工作了...... Twitter真的应该更新他们的文档。谢谢大家的帮助!