我正在使用Google Books API与我正在开发的电子商务网站集成。其想法是让用户使用搜索栏搜索图书,然后调用Google API输出与搜索关键字对应的图书数量。
然而,在我在表单中输入查询后单击提交后,我得到一个403 Forbidden错误。这很奇怪,因为当我在本地主机上测试应用程序时从未发生过这种情况。下面是我的应用程序的代码:
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
仍然不完整。我现在所做的就是显示URL,其中包含输出的json在它的原始,未处理的形式。
在我部署我的应用程序后,似乎是什么导致这个403错误出现?
编辑1:当我从主python文件中删除以下行时,问题就解决了:
f = urllib2.urlopen(finaal).read()
然而,我需要我的API的URL,以便从其源代码中提取数据。怎么回事?
尝试在URL查询字符串中添加&country=US