Google Doc .makeCopy()的脚本不会复制评论?

时间:2018-06-15 14:24:35

标签: google-apps-script google-docs

您好可以复制Google Doc文档以复制“复制文档”中的注释。因为我已经尝试使用TEMPLATE_DOC_ID,其中包含很多注释而我在“复制”中找不到注释我错过了什么?这是另一种方法吗?谢谢!

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

1 个答案:

答案 0 :(得分:5)

不幸的是,makeCopy()复制的Google文档不包含评论。因此,在复制文件后,需要将注释和回复插入到复制的文件中。要实现此目的,请在Advanced Google Services和API控制台上启用Drive API。

在高级Google服务中启用Drive API v2

  • 在脚本编辑器上
    • 资源 - >高级Google服务
    • 启用Drive API v2

Enable Drive API at API console

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

  • 在脚本编辑器上
    • 资源 - >云平台项目
    • 查看API控制台
    • 在“入门”中,单击“启用API”并获取密钥等凭据。
    • 在左侧,单击“库”。
    • 在搜索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;
  });
});

注意:

  • 不幸的是,创建时间和修改时间无法更新。所以日期就变成了创建日期。

参考文献:

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