微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将文件保存到shourcut文件夹

如何解决如何将文件保存到shourcut文件夹

我正在尝试将附件文件从 Gmail 保存到云端硬盘 我找到了一个代码示例 here 及其作品,但我需要将文件保存到共享文件夹中。在 MyDrive 上,我有一个共享文件夹的快捷方式。

例如:

    var GDRIVE_FILE = '_sheredFolder_/one/$name

    function processthread(thread,label){
    var attachments = message.getAttachments();
    for(var i=0; i<attachments.length; i++) {
      var attachment = attachments[i];
      var info = {
        'name': attachment.getName(),'ext': getExtension(attachment.getName())}
var file = createFilename(GDRIVE_FILE,info);
        saveAttachment(attachment,file);
}

解决方法

如果您的“我的云端硬盘”中有文件夹快捷方式,则该文件夹很可能为其他人所有。

为了能够将文件添加到其他人拥有的文件夹中,您应该将其作为“编辑器”与您共享。如果它以“查看者”的身份与您共享,您将无法将该文件添加到该文件夹​​中。

相关

,

好吧,挖了一会儿,我修改了核心支持快捷方式或共享文件夹 我在初始路径的请求处添加 % 以识别它是共享文件夹还是本地文件夹

代码如下:

var GDRIVE_FILE = '%TheSharedFolder/FOLDER/$name';

function getOrMakeFolder(path) {

  var folder = DriveApp.getRootFolder();
  var names = path.split('/');
  while(names.length) {
    var name = names.shift();
      if(name.charAt(0)==='%')
      {
            var first = name.substring(1,name.length)
            var folders = DriveApp.searchFolders('sharedWithMe');
          while (folders.hasNext()) {
              var folder = folders.next();
              if(folder.getName()===first)
              {
                Logger.log("folder name is : "+folder.getName()+" folderID: " + folder.getId())
                folder = DriveApp.getFolderById(folder.getId())
              }
            }
            continue;
      }  
    if(name === '') continue;
      var folders = folder.getFoldersByName(name);
      if(folders.hasNext()) {
        folder = folders.next();
      } else {
        folder = folder.createFolder(name);
      }
  } 
  return folder;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。