更新:如果有人能提供帮助,请:谷歌正在等待他们的bug跟踪工具上的输入和这个问题的示例。如果你对这个问题有可重复的步骤,请在上分享:https://code.google.com/p/googleappengine/issues/detail?id=10937
我正在尝试使用Google App Engine后端从StackExchange应用程序接口获取数据。正如您可能知道的,StackExchange的一些API是特定于站点的,需要开发人员对用户注册的每个站点运行查询。
所以,这是我的后端代码,用于从这些站点获取时间轴数据。feed_info_site
变量保存StackExchange站点名称(如'security'
、'serverfault'
等)。
data = json.loads(urllib.urlopen("%sme/timeline?%s" %
(self.API_BASE_URL, urllib.urlencode({"pagesize": 100,
"fromdate": se_since_timestamp, "filter": "!9WWBR
(nmw", "site": feed_info_site, "access_token":
decrypt(self.API_ACCESS_TOKEN_SECRET, self.access_token), "key":
self.API_APP_KEY}))).read())
for item in data['items']:
... # code for parsing timeline items
在除Stack Overflow之外的所有站点上运行此查询时,一切正常。奇怪的是,当feed_info_site
变量设置为'stackoverflow'
时,我从Google App Engine得到以下错误:
HTTPException: Invalid and/or missing SSL certificate for URL:
https://api.stackexchange.com/2.2/me/timeline?
filter=%219WWBR%28nmw&access_token=
<ACCESS_TOKEN_REMOVED>&fromdate=1&pagesize=100&key=
<API_KEY_REMOVED>&site=stackoverflow
当然,如果我在Safari中运行相同的查询,我会从API获得预期的JSON结果。所以问题其实出在谷歌的URLfetch服务上。我在Stack Overflow上找到了几个与类似的HTTPS/SSL异常相关的主题,但没有一个公认的答案解决了我的问题。我尝试删除cacerts.txt
文件。我也试着用validate_certificate=False
打电话,但没有成功。
我认为这个问题与HTTPS/SSL没有严格的关系。如果是这样,您如何解释更改单个API参数会导致请求失败?
发布于 2015-09-20 00:10:32
发布于 2016-08-12 16:30:49
我也遇到了同样的错误,google现在已经更新了应用引擎,错误已经解决,请检查更新的文档。
https://stackoverflow.com/questions/24106098
复制相似问题