Как обрабатывать ошибки или исключения в классе (DriveApp) - PullRequest
0 голосов
/ 09 февраля 2020

Есть ли у кого-нибудь образец кода для того, как я могу обработать ошибку, выданную следующим вызовом?

Drive.Permissions.insert(
   {
     'role': 'reader',
     'type': 'user',
     'value': 'wxy@zzzzzzzz.com'
   },
   fileID,
   {
     'sendNotificationEmails': 'false'
   });

В определенных обстоятельствах я получаю следующую ошибку и просто хотел бы проигнорировать и продолжить мой скрипт. Ошибка:

Вызов API для drive.permissions.insert завершился ошибкой: неверный запрос. Сообщение пользователя: «Вы пытаетесь пригласить wxy@zzzzzzzz.com. Поскольку с этим адресом электронной почты не связана учетная запись Google, необходимо установить флажок« Уведомлять людей », чтобы пригласить этого получателя». (строка 6, файл "Testtwo")

1 Ответ

1 голос
/ 10 февраля 2020

Вы можете найти @ с помощью indexOf и затем нарезать подстроку, чтобы получить домен каждого электронного письма. Затем используйте if и установите true или false в зависимости от того, является ли оно gmail.com или нет. Предположим, у вас есть электронные письма в массиве:

  for (var i = 0; i < emails.length; i++){

    var sign = emails[i].indexOf('@');
    var domain = emails[i].slice(sign+1);


    if (domain == 'gmail.com'){

      parameter = {
        'sendNotificationEmails': 'true'
      }

    } else {
      parameter = {
        'sendNotificationEmails': 'false'
      }
    }

    Drive.Permissions.insert(
      {
        'role': 'reader',
        'type': 'user',
        'value': emails[i]
      },
      fileId,      
      parameter);

  }

}

Ссылки :

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