访问用户的Twitter主页时间线

1 投票
1 回答
2409 浏览
提问于 2025-04-17 08:51

我正在尝试用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]

撰写回答