не удается получить папку, созданную другим скриптом приложения на диске Google - PullRequest
1 голос
/ 08 марта 2020

Используя следующую функцию скрипта приложения, я могу успешно создавать папки на Google Диске:

function uploadFileToGoogleDrive(data, file, name, email) {  

    var parentFolderId = "FOLDER_ID";
    var parentFolder = DriveApp.getFolderById(parentFolderId);
    var subfolder;

        try {
    subfolder = parentFolder.getFoldersByName([name, email].join(" ")).next();
    }
    catch(e) {
    subfolder = parentFolder.createFolder([name, email].join(" "));
    }
      var contentType = data.substring(5,data.indexOf(';')),
        bytes = Utilities.base64Decode(data.substr(data.indexOf('base64,')+7)),
        blob = Utilities.newBlob(bytes, contentType, file),
        file = subfolder.createFile(blob);

          file = subfolder.createFile(file, data);
   Logger.log(subfolder);  
      return "OK";
}

Я хочу получить доступ к папке, используя следующий скрипт:

function downloadFile(e) {  
  var parentFolderId = "FOLDER_ID";
  var parentFolder = DriveApp.getFolderById(parentFolderId);

 var subfolderId;
 var subfolders = parentFolder.getFoldersByName([name, email].join(" "));

while (subfolders.hasNext()) {
  var folder = subfolders.next();
  Logger.log(folder.getId());
}
}

appsscript. json для uploadFileToGoogleDrive:

{
  "timeZone": "Europe/Bucharest",
  "dependencies": {
  },
  "webapp": {
    "access": "ANYONE_ANONYMOUS",
    "executeAs": "USER_DEPLOYING"
  },
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8"
}

appsscript. json для скачивания File:

{
  "timeZone": "Europe/Bucharest",
  "dependencies": {
  },
  "webapp": {
    "access": "ANYONE_ANONYMOUS",
    "executeAs": "USER_DEPLOYING"
  },
  "exceptionLogging": "STACKDRIVER",
  "oauthScopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.readonly"],
  "runtimeVersion": "V8"
}

Скрипт может обращаться к ТОЛЬКО папкам, созданным с помощью Google Drive Web! Но не удается получить папки, созданные с помощью сценария других приложений.

Обратите внимание, что две функции (выгрузка и загрузка) находятся в отдельных скриптах приложений Google.

1 Ответ

0 голосов
/ 10 марта 2020

Спасибо @alberto vielma, как подсказал @TheMaster, моя проблема была в name and email, в их строковых значениях по ошибке был скрытый «пробел», который мешал им совпадать с именем папки. Спасибо всем ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...