Google apps script 从DriveApp查找两个文本文件中的差异

Google apps script 从DriveApp查找两个文本文件中的差异,google-apps-script,google-docs,Google Apps Script,Google Docs,我正在制作一个脚本,将谷歌文档的内容复制到一个文本文件中,并将其存储在谷歌硬盘上。然后,用户编辑文档,完成编辑后,会将新版本复制到单独的文件中。我已经完成了这一部分,但现在我需要知道如何让脚本自动比较文本中的差异,然后在文档中更改这些差异的颜色。有什么想法吗 我唯一尝试过的就是问我的朋友,他在编程方面比我懂得多,哈哈。他帮不了我 function copyQuestions() { var body = DocumentApp.getActiveDocument().getBody();

我正在制作一个脚本,将谷歌文档的内容复制到一个文本文件中,并将其存储在谷歌硬盘上。然后,用户编辑文档,完成编辑后,会将新版本复制到单独的文件中。我已经完成了这一部分,但现在我需要知道如何让脚本自动比较文本中的差异,然后在文档中更改这些差异的颜色。有什么想法吗

我唯一尝试过的就是问我的朋友,他在编程方面比我懂得多,哈哈。他帮不了我

function copyQuestions() {
  var body = DocumentApp.getActiveDocument().getBody();
  var getquestions = body.getText()
  DriveApp.createFile('tempquestions.txt', getquestions);
  DocumentApp.getUi()
  .alert('Questions have been copied to a new file on Google Drive. Get to work, and be sure not to delete the file!')
}
function copyAnswers() {
  var body = DocumentApp.getActiveDocument().getBody();
  var getanswers = body.getText()
  DriveApp.createFile('tempanswers', getanswers);
  DocumentApp.getUi()
  .alert('Coloring answers...')
}

脚本使用文档内容的副本创建文件。我现在需要知道如何比较两者之间的差异。谢谢大家!

听起来你需要一个差异引擎。您可以尝试利用著名的算法(如或)编写自己的脚本,但如果您不太愿意,可以尝试寻找与应用程序脚本兼容的现有javascript库

进行了快速搜索,找到了一些开源回购协议。我无法保证它们与应用程序脚本的兼容性,但至少有一个是可行的JSDiff支持EcmaScript 3,其中应用程序脚本最多支持EcmaScript 5:

JSDIFF 源网页压缩: github: 节点三角洲 github:
更新了我的回答如果他们使用应用程序脚本,我将如何设置它?JSDiff有一个链接到答案中的web打包源文件,您可以尝试将其作为脚本文件嵌入到应用程序脚本中。我不能保证这会奏效,但值得一试。不过,如果它确实有效,请务必查看github链接,了解如何在代码中使用该库的说明。我相信我知道如何在应用程序脚本中运行常规JS,我应该试一试吗?@Hampoon:试一试也无妨。