Ant*_*Qiu 6 python google-drive-api
我试图csv使用适用于Python的Google客户端库以格式导出Google电子表格:
# OAuth and setups...
req = g['service'].files().export_media(fileId=fileid, mimeType=MIMEType)
fh = io.BytesIO()
downloader = http.MediaIoBaseDownload(fh, req)
# Other file IO handling...
Run Code Online (Sandbox Code Playgroud)
这适用于MIMEType:application/pdf,MS Excel等.
根据谷歌的文档,text/csv支持.但是当我尝试发出请求时,服务器会给出一个500 Internal Error.
即使使用谷歌的Drive API游乐场,它也会出现同样的错误.
就像在v2中一样,我添加了一个字段:
gid = 0
到指定工作表的请求,但那是一个糟糕的请求.
您只需要实现指数退避。
查看ExponentialBackOffPolicy的文档。
这个想法是服务器只是暂时不可用,当它们尝试恢复时不应该被淹没。
默认实现需要回退 500 和 503 状态代码。如果需要不同的状态代码,子类可以覆盖。
以下是第一个链接中的指数退避实现的片段:
ExponentialBackOff backoff = ExponentialBackOff.builder()
.setInitialIntervalMillis(500)
.setMaxElapsedTimeMillis(900000)
.setMaxIntervalMillis(6000)
.setMultiplier(1.5)
.setRandomizationFactor(0.5)
.build();
request.setUnsuccessfulResponseHandler(new HttpBackOffUnsuccessfulResponseHandler(backoff));
Run Code Online (Sandbox Code Playgroud)
您可能需要查看此文档以了解ExponentialBackoff 实现的摘要。