如何访问到google表的快捷方式ist指向?

问题描述 投票:0回答:1

[![在此输入图片描述][1]][1]我做了一个快捷方式(google的新功能)的google sheets。

现在我想得到所有的电子表格,我有一个目录:这些功能不工作了,对待所有的电子表格。folder.getFilesByType(mimeType) 因为'新'快捷方式引入了新的mime类型。快捷方式的ID与原始文件不同。您不能再访问您在目录中找到的文件的ID。

  1. 有什么办法可以解决在一个目录中只选择电子表格和电子表格快捷方式?
  2. 如何打开快捷方式指向的电子表格?
    function myFunction() {
      var ss=SpreadsheetApp.getActiveSheet();
      var idRepertoire=ss.getRange("A1").getValue();

      var monRep=DriveApp.getFolderById(idRepertoire);

      var fichiers=monRep.getFiles();


      while (fichiers.hasNext()) {
        var fichier=fichiers.next();
        var parentFichiers=fichier.getParents();
        while (parentFichiers.hasNext()){
          var parent=parentFichiers.next();
          var identiteF=fichier.getId();
          ss.appendRow([fichier.getName(),fichier.getMimeType(),identiteF,parent.getName()]);
          SpreadsheetApp.openById(identiteF).getSheetName("test").getRange("A1"); // causes an error for the shortcut
        }
      }

    }


  [1]: https://i.stack.imgur.com/grcin.png
google-apps-script google-sheets google-drive-api
1个回答
0
投票

你的这两个问题都可以通过用 驱动API.

解释

为了检索 所有的电子表格和电子表格的快捷键。,您可以使用 GET 请求检索文件。

  • 对于电子表格类型,
GET https://www.googleapis.com/drive/v3/files

使用以下参数 q 领域

mimeType = 'application/vnd.google-apps.spreadsheet'
  • 对于快捷键类型。
GET https://www.googleapis.com/drive/v3/files

用以下参数表示 q 领域

mimeType = 'application/vnd.google-apps.shortcut'

之后,如果你想从上面的快捷方式中找回文件,你可以简单地做一个 GET 请求。因此,对于一个快捷方式,您可以这样做,其中包括 fileId 其实就是 快捷方式的id.

GET  https://www.googleapis.com/drive/v3/files/fileId

以下参数用于 fields 领域

shortcutDetails

此后 GET 请求,您将收到一个响应,在其中您可以找到 mimeType 的快捷方式,以及原来的 id 的文件。

{
 "shortcutDetails": {
  "targetId": "ID_OF_THE_ORIGINAL_FILE",
  "targetMimeType": "MIME_TYPE_OF_THE_ORIGINAL_FILE"
 }
}

参考文献

© www.soinside.com 2019 - 2024. All rights reserved.