我有一个.xml文件存储在Drive中,并希望使用importXML()提取信息。但是,当可共享链接来自云端硬盘时,它无法正常工作。
答案 0 :(得分:4)
我认为有两种模式。
在这种情况下,电子表格上使用的所有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 ###")
在这种情况下,由于部署了Web Apps,因此不需要共享在电子表格上使用的XML文件。但GAS用于此案例。安装此方法如下。
function doGet(e) {
var xml = DriveApp.getFileById(e.parameters.id).getBlob().getDataAsString();
return ContentService.createTextOutput(xml).setMimeType(ContentService.MimeType.XML);
}
复制的当前网络应用网址用于importXML()
。因此,电子表格上的公式如下。
=importXML("https://script.google.com/macros/s/#####/exec?id=### file id ###","### XPath query ###")
如果这些对你没用,我很抱歉。