Google App Engine:HTTP错误403:禁止

时间:2014-08-19 23:09:13

标签: python google-app-engine google-api

我使用Google Books API与我正在开发的电子商务网站集成。我们的想法是让用户使用搜索栏搜索图书,然后调用Google API输出与搜索关键字对应的图书数量。

但是,在表单中输入查询后单击“提交”后,出现403 Forbidden错误。这很奇怪,因为当我在localhost上测试我的应用程序时,这种情况从未发生过。这是我的应用程序的代码:

main.py

class SearchHandler(Handler):
    def get(self):
        self.render("search.html")
    def post(self):
        keey = self.request.get('keey')
        finaal = "https://www.googleapis.com/books/v1/volumes?q=" + keey + "&key=MY_APP_KEY"
        f = urllib2.urlopen(finaal).read()
        self.render("jsony.html", finaal = finaal)

app = webapp2.WSGIApplication(('/search', SearchHandler)], debug=True)

search.html

<html>
<head>
    <title>Web Mining</title>
</head>
<body>
    <form method = "post">
        Book Name:<input type = "text" name = "keey">
        <input type = "submit">
    </form>
</body>
</html> 

jsony.html

<html>
<head>
    <title>Web Mining</title>
</head>
<body>
    <form method = "post">
        {{finaal}}
    </form>
</body>

现在,jsony.html仍然不完整。我现在正在做的就是显示包含输出json的原始未处理形式的URL。

在部署应用程序后,似乎导致出现403错误的原因是什么?

编辑1:

当我从主python文件中删除以下行时问题解决了:

f = urllib2.urlopen(finaal).read()

但是,我需要我的API网址才能从其源代码中提取数据。发生了什么?

1 个答案:

答案 0 :(得分:0)

尝试将&country=US添加到网址查询字符串中。