2010-10-02 31 views
7

我正在尋找與應用程序引擎兼容的Python庫,並提供了Twitter API的接口。App Engine Python的Twitter庫?

我找到了python-twitter項目 - 有人在應用程序引擎上使用過它嗎?

+0

剛剛發現python-twitter使用urllib2進行urlfetch,可能不會在app engin上允許! – 2010-10-02 19:18:19

+1

您可以按照[文檔](http://code.google.com/appengine/docs/python/urlfetch/overview.html#Fetching_URLs_in_Python)使用urllib2在應用引擎上發出HTTP請求。 – 2010-10-02 19:55:49

回答

2

是的,您可以在應用程序引擎上使用python-twitter(支持在python-twitter issue 64已解決時添加)。

+0

感謝David Underhill,我正嘗試使用這個庫! – 2010-10-03 12:33:52

+0

@David Underhill:它需要導入OAuth2和HTTPLib2。對於OAuth2,我下載了https://github.com/simplegeo/python-oauth2/tree/master/oauth2。對於HTTPLib2,我下載了http://code.google.com/p/httplib2/wiki/Install並解壓縮文件夾python2/httplib2以投影根文件夾。我得到了錯誤http://paste.shehas.net/show/jbXyx2MSJrpjt7LR2Ksc/ – John 2013-02-03 12:46:53

6

我剛剛從python-twitter切換到tweepy。它具有更好的覆蓋範圍,內置OAuth和Streaming API。

請看this fork與App Engine一起使用。

後來編輯(感謝jmlane):主要分佈固定與App Engine工作,所以從here得到它。

+0

在很多我的AppEngine項目中使用它tweepy – honcheng 2011-04-26 23:22:00

+0

值得一提的是Tweepy [合併](https://github.com/tweepy/tweepy/ commit/44749382de131e83df9eb0923899e4a3c9dcd5f7)在這個fork上游引入的修復程序。不妨編輯你的答案,直接讓人使用主發行版。 – jmlane 2012-04-03 18:36:42

0

如上所述,您可以使用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) 

設置緩存是很重要的=無,因爲這將禁用它使用的文件系統的內部緩存默認情況下(GAE中不允許)。理想情況下,有人應該修復這個使用memcached ...但我太laaazzyy ... ;-)

更新:好的...這是很煩人的...你還需要從下面的庫中提取在google_appengine LIB ......這意味着你必須將源束明確添​​加到您的項目,而不是僅僅引用它們:

  • 的oauth2
  • httplib2的

如果不將它們添加到你的項目,它將在本地工作,但不在GAE。

+0

你可以教我如何安裝oauth2和httplib2嗎?我只是從github下載它們並將它們放到我項目的根文件夾中,然後添加import oath2並導入httplib2,但GAE仍然說沒有模塊httplib2 – John 2013-02-02 12:58:04

+0

@John您需要將這些文件夾明確添加到GAE應用程序代碼中是的,你基本上是爲每個應用程序創建這些代碼的副本......這是 - 我知道 - 跛腳) – 2013-02-04 14:58:43