问题描述
我使用Java Google Drive API上传包含约100张图片的文本组成的文档。我产生这样的请求:
List<Request> requests = new ArrayList<>();
for (...) {
requests.add(new Request().setInsertText(...));
requests.add(new Request().setInsertInlineImage(...));
}
BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests);
BatchUpdateDocumentResponse response = service.documents().batchUpdate(id,body).execute();
这已经运行了好一阵子了。但是,从今天开始,该工具将失败并
com.google.api.client.googleapis.json.GoogleJsonResponseException: 429 Too Many Requests
{
"code" : 429,"errors" : [ {
"domain" : "global","message" : "Resource has been exhausted (e.g. check quota).","reason" : "rateLimitExceeded"
} ],"status" : "RESOURCE_EXHAUSTED"
}
配额页面显示我在写请求的配额内。确实,如果我不包括图像,则可以编写其他文档。但是,一旦添加单个图像,请求就会失败。
某处是否有隐藏的配额?有更好的方法吗?
解决方法
问题出在当时正在使用的文档中,尝试制作一个新文档,然后使用新的文档ID再次运行批处理更新。这样可以解决图像插入失败的问题。