我试图使用Mike的Python包装器-https://github.com/mLewisLogic/foursquare向Foursquare API发出一个没有用户的请求:
client = foursquare.Foursquare(client_id=Client_ID, client_secret=Client_Secret)
categs = client.venues.categories()Intermittently,我得到了一个“连接到Foursquare API的错误”msg。运行记录器以捕获更详细的消息会产生:
"SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate验证失败“
这在我的本地Windows开发机器和运行ubuntu的服务器上都没有发生。我是不是漏掉了一些关于安全证书的基本内容?这个问题是断断续续的,有时只需要花一分钟时间重新尝试就能暂时解决问题。
我已经下载了包装器的最新20120716版本,尽管在init.py的代码中仍然写着API_VERSION = '20120608‘。我正在使用Python2.73,并且已经注册了Foursquare API密钥,使用了上面代码中的id和保密。我使用本地IP:8000列出了urls,并尝试为本地机器和dev机器使用单独的密钥,但这似乎没有什么区别。
非常感激的帮助。谢谢。
发布于 2012-11-11 15:48:35
我昨天也遇到了同样的问题。我搜索了很多,尝试了很多,似乎下面的策略适用于我的情况(我不是100%确定,但它不再报告错误了)。
1)下载http://curl.haxx.se/ca/cacert.pem
wget http://curl.haxx.se/ca/cacert.pem2)转到Python。我的在/usr/local/lib/python2.7/dist-packages/httplib2
cd /usr/local/lib/python2.7/dist-packages/httplib23)备份当前证书
cp cacerts.txt backup_cacerts.txt4)然后将下载的文件复制到那里并将其重命名为cacerts.txt
mv cacert.pem cacerts.txt就这样。
希望能帮上忙。如果没有从备份文件中恢复,请尝试其他方法。
在我更改以下内容之后,我的foursquare脚本就可以正常工作了:)
https://stackoverflow.com/questions/13321302
复制相似问题