Can';在Python中使用1.1 API获取twitter用户时间线
我正在尝试编写一个小的Twitter应用程序。我已经设法从Twitter文档中运行了身份验证Python示例,例如,我可以从“statuses/home\u timeline.json”获取数据 但现在我尝试使用“statuses/user_timeline.json”,而不是骰子 这是我正在使用的代码。这只是对网页中示例的修改。有什么不对劲?我三次检查了服务URI。对不对 我使用的是github的python-oauth2-1.0.0版本,文档中提到的项目,但它已经很旧了。我是否应该使用更好的模块?顺便说一下,Can';在Python中使用1.1 API获取twitter用户时间线,python,twitter,Python,Twitter,我正在尝试编写一个小的Twitter应用程序。我已经设法从Twitter文档中运行了身份验证Python示例,例如,我可以从“statuses/home\u timeline.json”获取数据 但现在我尝试使用“statuses/user_timeline.json”,而不是骰子 这是我正在使用的代码。这只是对网页中示例的修改。有什么不对劲?我三次检查了服务URI。对不对 我使用的是github的python-oauth2-1.0.0版本,文档中提到的项目,但它已经很旧了。我是否应该使用更好的
客户端中的参数不正确。请求
另一件事:我可以使用curl运行查询,并在twitterdev网页上创建命令行
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
我建议使用这个软件包。您可以使用以下方式安装它:
pip install twython
或
轻松安装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
在我安装了最新版本的python-oauth2之后,它就开始工作了。。。Twitter真的应该更新他们的文档。谢谢大家的帮助 我从user_timeline查询中得到的错误是:{“errors”:[{“message”:“抱歉,该页面不存在”,“code”:34}]}我们使用上述方法为一组用户获取推文。区别在于,我们使用user_id并在client.request调用中只指定“url”参数,这已经正常工作了几个月。只要正确指定了所有数据类型(字符串、int等),就无法发现任何明显的错误。HTTP404,代码34通常在用户帐户不存在时返回。复制粘贴了更多差异。尝试使用include_rts=true准备TwitterID为的资源URL:twit_URL=twitter_statuses_user++'user_id='+str(TwitterID)+'&trim_user=true&exclude_repress=true&include_rts=true'+'&count=200'\