Google Doc .makeCopy() 的脚本没有复制评论?

Script for a Google Doc .makeCopy() the comments aren't copied?

你好,在复制 Google Doc 文档时也可以复制 "copy doc." 中的注释,因为我已经在 TEMPLATE_DOC_ID 中尝试过,它有很多注释,但我不知道在"copy"中找到评论。我漏掉了什么?这是另一种方法吗?谢谢!

//Make a copy of the template file
        var documentId = DriveApp.getFileById(TEMPLATE_DOC_ID).makeCopy().getId();

不幸的是,makeCopy() 复制的 Google 文档不包含注释。因此,在复制文件后,需要将评论和回复插入到复制的文件中。为了实现这一点,请在高级 Google 服务和 API 控制台启用驱动器 API。

在高级 Google 服务中启用驱动器 API v2

  • 在脚本编辑器上
    • 资源 -> 高级 Google 服务
    • 打开驱动器 API v2

Enable Drive API at API console

关于驱动器 API,在您的环境中,这可能已经启用。

  • 在脚本编辑器上
    • 资源 -> 云平台项目
    • 查看API控制台
    • 在开始时,单击启用 APIs 并获取密钥等凭据。
    • 在左侧,单击“库”。
    • 在搜索 API 和服务时,输入 "Drive"。然后单击驱动器 API。
    • 单击“启用”按钮。
    • 如果API已经启用,请不要关闭。

示例脚本:

var documentId = DriveApp.getFileById(TEMPLATE_DOC_ID).makeCopy().getId();

// Added script
var commentList = Drive.Comments.list(TEMPLATE_DOC_ID);
commentList.items.forEach(function(item) {
  var replies = item.replies;
  delete item.replies;
  var commentId = Drive.Comments.insert(item, documentId).commentId;
  replies.forEach(function(reply) {
    Drive.Replies.insert(reply, documentId, commentId).replyId;
  });
});

注:

  • 很遗憾,创建时间和修改时间无法更新。所以日期变成了创建日期。

参考资料:

如果这不是你想要的,我很抱歉。