访问用户的Twitter主页时间线
我正在尝试用python开发一个gtk3桌面应用程序,目的是实现一些基本的推特功能,比如访问用户的主页时间线、发推等。
我使用的是python-twitter这个库,但找不到相关的API调用来实现这些功能。我查看了一下,发现有一些补丁,但是它们似乎没有用。其余的功能我都能用这个库完成。
我需要帮助!!!
[编辑]
这是我在尝试使用一个python-twitter库的分支时遇到的错误,链接是:http://github.com/jaytaylor/python-twitter-api
Error:
>>api.getUserTimeline('gaurav_sood91')
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "twitter.py", line 2646, in getUserTimeline
self._checkForTwitterError(data)
File "twitter.py", line 3861, in _checkForTwitterError
if data.has_key('next_cursor'):
AttributeError: 'list' object has no attribute 'has_key'
1 个回答
2
这里使用的是来自code.google.com的python-twitter模块,具体的文档可以在这里找到。
获取用户时间线的方法:
import twitter
api = twitter.Api()
statuses = api.GetUserTimeline('@gaurav_sood91')
print [s.text for s in statuses]
发布推文的方法:
import twitter
api = twitter.Api(consumer_key='consumer_key',
consumer_secret='consumer_secret',
access_token_key='access_token',
access_token_secret='access_token_secret')
status = api.PostUpdate('This is my update text.')
编辑以应用GetHomeTimeline补丁:
注意:我在使用Windows系统,所以你可能需要稍微调整这些步骤。
- 下载python-twitter
- 解压到一个文件夹
- 从问题152下载0002-Support-for-home-timeline.patch文件
- 把补丁文件复制或移动到解压后的python-twitter目录的根目录(这个目录下应该有一个名为twitter.py的文件)
- 运行命令:
patch twitter.py 0002-Support-for-home-timeline.patch
,你应该会看到补丁成功的消息 - 在同一目录下,运行命令:
python setup.py install
- 运行交互式python环境:
import twitter
,然后输入dir(twitter.Api)
你应该能看到GetHomeTimeline方法的列表。
关于GetHomeTimeline的更新:
在问题152中找到了一个补丁,它使用OAuth和现在已经成为Status类一部分的JSON解析方法,效果很好。示例代码:
import twitter
api = twitter.Api(consumer_key='consumer_key',
consumer_secret='consumer_secret',
access_token_key='access_token',
access_token_secret='access_token_secret')
statuses = api.GetHomeTimeline()
print [s.text for s in statuses]