[![在此输入图片描述][1]][1]我做了一个快捷方式(google的新功能)的google sheets。
现在我想得到所有的电子表格,我有一个目录:这些功能不工作了,对待所有的电子表格。folder.getFilesByType(mimeType)
因为'新'快捷方式引入了新的mime类型。快捷方式的ID与原始文件不同。您不能再访问您在目录中找到的文件的ID。
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
你的这两个问题都可以通过用 驱动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"
}
}