【问题标题】:Twitter library for App Engine Python?App Engine Python 的 Twitter 库?
【发布时间】:2011-04-20 07:34:38
【问题描述】:

我正在寻找一个与应用引擎兼容并提供 Twitter API 接口的 Python 库。

我找到了python-twitter 项目 - 有人在应用引擎上使用过它吗?

【问题讨论】:

  • 刚刚发现 python-twitter 使用 urllib2 进行 urlfetch,这在应用程序引擎上可能是不允许的!
  • 您可以使用 urllib2 在应用引擎上按照the docs 发出 HTTP 请求。

标签: python google-app-engine twitter oauth


【解决方案1】:

如上所述,您可以使用 python-twitter(在其当前版本中)。要使用它,只需将 twitter.py 添加到您的 Python-GAE 项目中,然后创建 API 的一个实例:

twitter_api = twitter.Api(consumer_key=consumer_key, consumer_secret=consumer_secret, access_token_key=access_token_key, access_token_secret=access_token_secret, cache=None)

设置 cache=None 很重要,因为这会禁用默认使用文件系统的内部缓存(这在 GAE 中是不允许的)。理想情况下,应该有人解决这个问题以使用 memcached ......但我太懒惰了...... ;-)

更新:好的...这太烦人了...您还需要从 google_appengine 库中提取以下库...这意味着您必须将源包显式添加到您的项目中,而不仅仅是引用它们:

  • oauth2
  • httplib2

如果您不将它们添加到您的项目中,它将在本地工作,但不能在 GAE 中工作。

【讨论】:

  • 你能教我如何安装oauth2和httplib2吗?我只是从github下载它们并将它们放在我的项目的根文件夹中并添加import oath2和import httplib2,但是GAE仍然说没有模块httplib2
  • @John,您需要将这些文件夹显式添加到您的 GAE 应用程序代码中(是的,您实际上是在为每个应用程序创建这些代码的副本……这是--我知道--蹩脚)
【解决方案2】:

我刚从 python-twitter 切换到 tweepy。它具有更好的覆盖范围、内置 OAuth 和 Streaming API。

查看this fork 以使用 App Engine。

稍后编辑(感谢jmlane):主发行版已修复为与 App Engine 一起使用,因此请从 here 获取。

【讨论】:

  • 在我的很多 AppEngine 项目中使用它 tweepy
  • 值得一提的是,Tweepy merged 在这个分支上游引入的修复。不妨编辑您的答案以指导人们使用主要发行版。
【解决方案3】:

是的,您可以在应用引擎上使用python-twitter(在解决python-twitter issue 64 时添加了支持)。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-04-14
  • 2018-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-03
  • 2011-02-24
相关资源
最近更新 更多