我使用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网址才能从其源代码中提取数据。发生了什么?
答案 0 :(得分:0)
尝试将&country=US
添加到网址查询字符串中。