如何将importXML功能与来自Google云端硬盘的文件一起使用?

时间:2017-08-31 19:02:28

标签: google-sheets

我有一个.xml文件存储在Drive中,并希望使用importXML()提取信息。但是,当可共享链接来自云端硬盘时,它无法正常工作。

1 个答案:

答案 0 :(得分:4)

我认为有两种模式。

1。直接从Google云端硬盘中读取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文件

在这种情况下,由于部署了Web Apps,因此不需要共享在电子表格上使用的XML文件。但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 App
    • - >在执行应用时,选择“您的帐户”
    • - >在Who有权访问该应用时,请选择“任何人,甚至匿名”
    • - >单击“部署”
    • - >复制“当前网络应用网址”
    • - >单击“确定”

复制的当前网络应用网址用于importXML()。因此,电子表格上的公式如下。

=importXML("https://script.google.com/macros/s/#####/exec?id=### file id ###","### XPath query ###")

如果这些对你没用,我很抱歉。