1

我正在尝试使用python开发一个gtk3桌面应用程序来执行基本的 twitter 功能,例如访问用户的主页时间线、制作推文等。

我正在使用 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'
4

1 回答 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
  • 解压到文件夹
  • 从issue 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 shell: import twitter,dir(twitter.Api)

您应该会看到列出的 GetHomeTimeline 方法。

GetHomeTimeline 更新:

在问题 152 中找到了使用OAuth和 JSON 解析方法运行良好的补丁,该方法现在是 Status 类的一部分。示例代码:

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]
于 2011-12-22T17:21:14.143 回答