我在 Drive 中存储了一个 .xml 文件,我想使用 importXML() 提取信息。但是,当它是来自云端硬盘的可共享链接时,它不起作用。
最佳答案
我认为有两种模式。
1. 直接从 Google Drive 读取 XML 文件
在这种情况下,在电子表格上使用的所有 XML 文件都必须作为 ANYONE_WITH_LINK 和 VIEW 共享。共享文件的 URL 是 https://drive.google.com/uc?id=### file id ###&export=download
.所以公式如下。
=importXML("https://drive.google.com/uc?id=### file id ###&export=download","### XPath query ###")
2. 使用 Web Apps 间接读取 XML 文件
在这种情况下,不需要共享在电子表格上使用的 XML 文件,因为部署了 Web 应用程序。但是在这种情况下使用了 GAS。该方法的安装如下。
1. 将以下脚本复制并粘贴到您的脚本编辑器中。
function doGet(e) {
var xml = DriveApp.getFileById(e.parameters.id).getBlob().getDataAsString();
return ContentService.createTextOutput(xml).setMimeType(ContentService.MimeType.XML);
}
2. Deploy Web Apps
已复制 当前 Web 应用程序 URL 用于
importXML()
.所以电子表格上的公式如下。=importXML("https://script.google.com/macros/s/#####/exec?id=### file id ###","### XPath query ###")
如果这些对你没有用,我很抱歉。
关于google-apps-script - 如何对来自 Google Drive 的文件使用 importXML 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45988417/