2012-12-28 103 views
2

我想用Yelp設置我的第一個API連接,我在Python上使用GAE。要做到這一點,我用下面的例子:https://github.com/Yelp/yelp-api/blob/master/v2/python/search.py 起初我只是嘗試在我的app.yaml當我加載它提供了以下錯誤的頁面運行由下面的定義代碼GAE導入OAuth失敗

handlers: 
- url: /search 
script: search.py 

但是:沒有名爲oauth2的模塊。我已閱讀了許多似乎涵蓋此錯誤的主題,但沒有真正幫助解決該問題。我也嘗試導入在某些答案中提到的oauth2client,但是這也未被接受。

是被系統接受的唯一的事情就是

from google.appengine.api import oauth 

所以我試圖用這個模塊的工作,但很快就遇到了另一個問題。我通過在解析器定義中將它們定義爲默認值來填寫憑證(consumer_key,consumer_secret,token,token_secret)。要複製https://github.com/Yelp/yelp-api/tree/master/v2/python上的示例請求,我還爲「term」(bars)和「location」(sf)添加了默認值。

當使用它加載頁面但是給我錯誤'模塊'對象沒有屬性'消費者',所以這似乎也不是解決方案。如前所述,這是我第一次建立這樣一個系統,所以很可能我錯過了一些明顯的東西。非常感謝您的想法。

回答

1

你不能像這樣替換模塊,你所指的腳本與oauth2庫不同,它與GAE OAuth API不同(這就是爲什麼你得到'module'對象沒有'Consumer'屬性的原因)。

正如yelp-api的README中所述,首先需要安裝oauth2模塊。請注意,您需要將安裝的模塊(或源)複製到GAE項目中,以便在部署時將其上傳到GAE。

+0

嗨塞巴斯蒂安,謝謝你的回答。我對此很陌生,現在還沒有使用python解釋器 - 我只需在Sublime中輸入代碼,並通過使用GAE SDK查看它是否工作正常。在這種情況下,我應該如何將oauth2庫安裝到我的應用程序中?非常感謝您的意見。 – Vincent

+0

通常,您必須將安裝的文件夾(oauth2)或文件(oauth2.py)複製到GAE項目。要找出安裝的軟件包的位置,只需運行以下python腳本: import oauth2 print oauth2 .__ file__ –

+0

謝謝Sebastien。我想我將不得不開始弄清楚如何在我的系統上使用命令行... – Vincent