我在Google帐户中创建了一个项目。然后授权并使用API密钥和自定义搜索引擎ID访问Google自定义搜索。 我试图通过修改示例代码使用Python接口执行搜索。 每次我在此行之后运行代码时都会出现此错误:
service = build("customsearch", "v1",
developerKey="AIxx")
IOError:[Errno 13]权限被拒绝
我尝试自己创建一个请求,以检查问题是否与Google或我有关。这是我的要求:
https://www.googleapis.com/customsearch/v1?q=olive+garden&cx=00026xx&key=AIxx
它有效!所以,现在我完全糊涂了,无法弄清问题是什么。
更奇怪的是,当我尝试使用Google API资源管理器执行相同的搜索时,它会返回:超出每日限制
答案 0 :(得分:4)
问题是因为httplib2安装程序没有为cacerts.txt上的其他人设置读取权限 您还必须向其他人添加读取权限:D
sudo chmod o+r /Library/Python/2.7/site-packages/httplib2-0.9.2-py2.7.egg/httplib2/cacerts.txt
实际上httplib2必须从系统范围的证书中读取它,我不知道它们为什么不这样做。有谁知道为什么?有针对此特定问题的补丁,例如此补丁,例如https://bugs.mageia.org/show_bug.cgi?id=6568
答案 1 :(得分:2)
问题是因为Google API想要访问不受其许可的位置。
超级用户运行您的脚本。像这样的东西:
sudo python test.py
如果您知道Google API想要访问的位置,请通过chmod
命令更改位置权限。