gpt4 book ai didi

google-drive-api - Google Drive API 响应很慢

转载 作者:行者123 更新时间:2023-12-05 03:10:14 26 4
gpt4 key购买 nike

我们使用 Google Drive v3 API 来管理我们网络应用程序中的文档。我们有一个简单的用例,其中用户单击一个按钮,后端需要将大约 5-10 个文件从 source 复制到 destination 文件夹。我测试了源文件夹中的 6 个文件,API 花费了大约 7 秒。我已经使用批处理来调用复制文件 API。以下是相同的代码:

向队列添加请求:

for(Template template: templates) {
File file = new File();
file.setParents(Collections.singletonList(parentFileId));
file.setName(template.getName());
file.setWritersCanShare(false);
file.setViewersCanCopyContent(false);

Map<String, String> appProperties = new HashMap<>();
appProperties.put(TEMPLATE_CODE_PROP_NAME, template.getCode());
file.setAppProperties(appProperties);

driveService.files().copy(template.getFileId(), file)
.setFields("id, name, appProperties, webViewLink, iconLink, mimeType")
.queue(batch, callback);
}

批处理成功后处理响应:

JsonBatchCallback<File> callback = new JsonBatchCallback<File>() {

@Override
public void onSuccess(File file, HttpHeaders responseHeaders) throws IOException {
log.info("Copied file successfully - " + file.getName() + " " + file.getId());
}

@Override
public void onFailure(GoogleJsonError e, HttpHeaders responseHeaders) throws IOException {
log.severe("Failed to copy file " + e.getCode() + " " + e.getMessage());
throw new Exception();
}
};

我遵循了 Google 推荐的最佳做法:

  1. 设置响应中所需的字段,以便我们获得部分响应而不是完整响应
  2. 使用批处理调用 API

API 需要 7 秒才能完成这个简单的任务。从用户体验的角度来看,这是非常糟糕的表现。 我想知道这是预期的延迟还是我做错了什么?

最佳答案

你的代码没问题。 Google Drive API 有时确实很慢。在这种情况下,唯一的解决方案是如果花费的时间超过阈值时间,则向 API 发出新请求。大多数情况下,新的请求会很快返回数据。

有些关于stack overflow的回答说不是驱动API,而是开发者的代码导致代码变慢,根据我个人的经验,这是不正确的。 (我检查过 Chrome 开发工具,API 的响应时间通常在 20-30 秒之间)。

关于google-drive-api - Google Drive API 响应很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40530714/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com