Попытка использовать GmailApp.sendEmail - Получение недостающего токена доступа для авторизации - PullRequest
2 голосов
/ 28 октября 2019

Я пытаюсь использовать GmailApp.sendEmail() в надстройке, над которой я сейчас работаю, и даже несмотря на то, что я предоставил ей необходимые области, все равно не удается отправить сообщение с:

"Доступ запрещен:: отсутствует токен доступа для авторизации. Запрос: MailboxService.SendMessage."

Добавлены все необходимые области в файле манифеста проекта:

 "oauthScopes" : [
    "https://www.googleapis.com/auth/gmail.addons.current.action.compose",
    "https://www.googleapis.com/auth/gmail.addons.current.message.metadata",
    "https://www.googleapis.com/auth/userinfo.email",
    "https://www.googleapis.com/auth/script.locale",
    "https://mail.google.com/",
    "https://www.googleapis.com/auth/gmail.modify",
    "https://www.googleapis.com/auth/gmail.compose",
    "https://www.googleapis.com/auth/gmail.send",
    "https://www.googleapis.com/auth/gmail.addons.current.action.compose",
    "https://www.googleapis.com/auth/gmail.addons.execute", 
    "https://www.googleapis.com/auth/gmail.addons.current.message.metadata"
    ]

.gs файл

function validateRecipients(e) {
  var toEmails = e.draftMetadata.toRecipients, ccEmails = e.draftMetadata.ccRecipients, bccEmails = e.draftMetadata.bccRecipients, domains = [], uniqueDomains = [];
  var allEmails = toEmails.concat(ccEmails, bccEmails);
  for (var i = 0; i < allEmails.length; i++) {
    domains[i] = allEmails[i].split("@").pop().split(".")[0]; 
  }  
  uniqueDomains = domains.filter(listUnique);
  if(uniqueDomains.length <= 2 && uniqueDomains.indexOf("verasafe") != -1) {
    Logger.log("This Message is Good to Go");
  }

  else if(uniqueDomains.length == 0) {
    Logger.log("This Message has no recipients");
  }

  else {
    Logger.log("Please Validate Receipients of this Message and Try again");
    GmailApp.sendEmail("sherifkd@gmail.com", "Disclosure Alert", "This message might be sent to the following multiple external domains:");
  }
}

1 Ответ

1 голос
/ 30 октября 2019

Добавьте это: "https://www.googleapis.com/auth/script.send_mail",

Я думаю, что именно отсюда ваша ошибка.

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