无法实例化Google API服务:权限被拒绝



我在谷歌账户中做了一个项目。然后使用API密钥和自定义搜索引擎的ID授权并访问Google自定义搜索。我试图通过修改示例代码,使用Python接口执行搜索。每次我在这一行之后运行代码时,我都会收到以下错误:

service = build("customsearch", "v1",
        developerKey="AIxx")

IOError:[Erno 13]权限被拒绝

我试着自己创建一个请求,以检查问题是否与谷歌或我有关。这是我的请求:

https://www.googleapis.com/customsearch/v1?q=olive+花园&cx=00026xx&key=AIxx

它成功了!所以,现在我完全困惑了,无法弄清楚问题出在哪里

更奇怪的是,当我尝试使用Google API资源管理器执行相同的搜索时,它会返回:Daily Limit Exceeded

问题是因为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

问题是因为Google API想要访问不允许访问的位置。

由超级用户运行您的脚本。像这样的东西:

sudo python test.py

如果您知道Google API想要访问的位置,请通过chmod命令更改位置的权限。

相关内容

  • 没有找到相关文章

最新更新