2012-12-28 144 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