Fusion Tables API v2仍然提供"响应大小大于10 MB。请使用媒体下载。"错误

时间:2016-01-05 00:08:40

标签: google-fusion-tables

此处的文字:https://developers.google.com/fusiontables/docs/v2/migration_guide表示10 MB限制对API v2无效,或者替代服务"媒体下载"可用于大型回复。

此处的API参考:https://developers.google.com/fusiontables/docs/v2/reference/没有任何有关10MB限制的信息,或者您如何使用"媒体下载"收到你的要求。

如何解决Fusion Tables API v2的10MB限制?我似乎无法找到解释它的文档。

2 个答案:

答案 0 :(得分:1)

要使用媒体下载,只需将参数alt=media添加到网址

即可

答案 1 :(得分:0)

对于使用Google API Client Libraries的人来说,媒体下载'是使用特定方法指定的。对于Python library,有两种版本的SQL查询方法:sql*()sql*_media()(对于其他客户端库也很可能也是如此)。

使用示例:

# Build the googleapiclient service
FusionTables = build('fusiontables', 'v2', credentials=credentials);
query = 'select * from <table id>';

# "standard" query, returning fusiontables#sqlresponse JSON:
jsonRequest = FusionTables.query().sqlGet(sql = query);
jsonResponse = jsonRequest.execute();

# alt=media query, returning a CSV-formatted bytestring (in Python, at least):
bytestrRequest = FusionTables.query().sqlGet_media(sql = query);
byteResponse = bytestrRequest.execute();

作为Kerry mentions here,过大而无法作为GET请求发送的媒体格式查询将失败(如果查询结果小于10 MB,则相同长度的常规格式查询会成功)。在python客户端中,此失败显示为HTTP 502: Bad Gateway错误。

另请注意,ROWID当前未以媒体响应格式返回。