Google脚本openById不起作用?

kir*_*iro 5 google-docs google-apps-script

这是我写的代码:

function importEventData(){
  var dFile = DocsList.getFileById("0Ar2YhVnsK7LLdGVrUFdpRUVQTHJ0aG1SVkp6V0JMMkE");
  var text = DocumentApp.openById("0Ar2YhVnsK7LLdGVrUFdpRUVQTHJ0aG1SVkp6V0JMMkE").editAsText().getText();
  return text;
};
Run Code Online (Sandbox Code Playgroud)

函数的第一行有效。但是不幸的是,在第二行,谷歌编译器停止了,并说:“文档丢失了。该脚本有权访问我的gDrive。虽然我尝试从dFile.getId()函数获取ID。但这会产生相同的字符串和相同的错误。

小智 1

var text = DocumentApp.openById("0Ar2YhVnsK7LLdGVrUFdpRUVQTHJ0aG1SVkp6V0JMMkE").getBody().editAsText().getText();
Run Code Online (Sandbox Code Playgroud)

您需要.getBody()在前面添加.editAsText(),因为DocumentApp.openByID('id')返回一个文档类对象,而 editastext 方法仅适用于正文对象。这可以在 Google 的文档中看到: https: //developers.google.com/apps-script/reference/document/document-app