我正在尝试添加一个脚本来删除 Google 表格上已解析的评论,但我不断收到此错误消息:“GoogleJsonResponseException:对drive.comments.list的API调用失败并出现错误:此方法需要“fields”参数。”我尝试根据此论坛的其他建议添加“字段”参数,但似乎没有一个起作用。这是我当前不起作用的代码:
function deleteResolvedComments() {
const id = SpreadsheetApp.getActiveSpreadsheet().getId();
const comments = Drive.Comments.list(id).items;
comments.forEach(comment => {
if(comment.status === 'resolved'){
Drive.Comments.remove(id, comment.commentId);
}
});
}
我尝试了多种不同的方式添加字段,但不断返回相同的错误消息。
GoogleJsonResponseException: API call to drive.comments.list failed with error: The 'fields' parameter is required for this method.
来看,我猜测您正在启用 Drive API v3。因为现阶段,Advance Google服务启用Drive API时,默认使用版本3。这可能与此线程有关。如果我的猜测是正确的,就会出现这样的错误。本例有以下2种修改模式。
请将 Drive API 版本从 v3 更改为 v2。这样,你的脚本就可以工作了。
当您使用Drive API v3时,请按如下方式修改您的脚本。
function deleteResolvedComments() {
const id = SpreadsheetApp.getActiveSpreadsheet().getId();
const comments = Drive.Comments.list(id, { fields: "*" }).comments;
comments.forEach(comment => {
if (comment.resolved === true) {
Drive.Comments.remove(id, comment.id);
}
});
}
此修改后的脚本可与 Drive API v3 一起使用。