在GAE中使用Google gdata库时,SSL证书无效和/或缺失

时间:2014-05-26 08:23:06

标签: google-app-engine ssl-certificate gdata urlfetch

我正在GAE上实施一个后端,它使用gdata.apps.audit.service.AuditService.createMailboxExportRequest向Google发送邮箱导出请求。 我已将gdata lib复制到我的app目录中。我的代码在本地Python 2.7中正常工作 但是,当我在GoogleAppEngine Develop环境中运行代码时,它会引发这样的错误:

  

INFO 2014-05-26 08:05:21,793 discovery.py:190]请求的网址:https://www.googleapis.com/discovery/v1/apis/admin/directory_v1/rest?userIp=0.1.0.2

     

INFO 2014-05-26 08:05:21,794 client.py:474]尝试刷新以获取初始access_token   INFO 2014-05-26 08:05:21,807 client.py:680]刷新access_token

创建了AuditService并且没问题!

接下来是错误:

  

警告2014-05-26 08:05:24,633 urlfetch_stub.py:482]从URLFetch请求中删除禁止的标头:['Host','Content-Length']

     

网址的SSL证书无效和/或缺失:https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/mydomainhere.com/barney

请给我一个解释为什么我不能在GAE上运行这个! 它在运行createMailboxExportRequest时可能会引发错误,并且可能与Google urlfetch_stub有关。我很困惑。

更新:我更改为使用httplib2直接向Google API发出请求,而不使用他们的gdata库,但它确实有效。

1 个答案:

答案 0 :(得分:1)

原始海报找到的解决方案是切换到Python的httplib2库,直接向Google API发送请求。

根据原始问题,在获取证书时,验证证书失败可能是由于网络错误造成的。如果错误只发生一次,这可能是解释。