Сценарии Google Apps - использование метода getdraft () не работает - PullRequest
1 голос
/ 01 ноября 2019

Попытка расширить составной интерфейс для получения некоторой информации из черновиков. Когда я пытаюсь получить черновик с использованием draft.getMessage (). GetBody (), у меня появляется эта ошибка:

Access denied: : Missing access token for authorization. Request: MailboxService.GetMessage. [line: 19, function: validateRecipients, file: Code]

Мой код:

var draft = GmailApp.getDrafts()[0];
var content = draft.getMessage().getBody();
draft.update("blabla@gmail.com", "Disclosure Alert", "The below message is flagged as possible data disclosure.\n Recipients:"+allEmails+"\n Content:\n"+content);
draft.send();

Мои области манифеста:

  "oauthScopes" : [
    "https://mail.google.com/",
    "https://www.googleapis.com/auth/userinfo.email",
    "https://www.googleapis.com/auth/script.locale",
    "https://www.googleapis.com/auth/script.send_mail",
    "https://www.googleapis.com/auth/script.external_request",
    "https://www.googleapis.com/auth/gmail.metadata",
    "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.current.message.metadata",
    "https://www.googleapis.com/auth/gmail.addons.current.message.readonly", 
    "https://www.googleapis.com/auth/gmail.addons.current.message.action",
    "https://www.googleapis.com/auth/gmail.addons.execute"
    ]

1 Ответ

0 голосов
/ 01 ноября 2019

При использовании нескольких областей в надстройке, будут автоматически выбраны самые ограниченные области действия (См. Связанный вопрос: В аддонах Gmail как получить доступ ко всем деталям потоков, возвращеннымот GmailApp.search?).

Поскольку вы уже используете наименее ограничивающую область действия GMail (https://mail.google.com/), я предлагаю вам изменить области манифеста на следующие (Уведомление удалено https://www.googleapis.com/auth/gmail.addons.current.message.* области):

"oauthScopes" : [
    "https://mail.google.com/",
    "https://www.googleapis.com/auth/userinfo.email",
    "https://www.googleapis.com/auth/script.locale",
    "https://www.googleapis.com/auth/script.external_request",
    "https://www.googleapis.com/auth/gmail.addons.execute"
]

Если вы рассматриваете возможность публикации этого дополнения, имейте в виду, что вам не будет разрешена область действия https://mail.google.com, поэтому вас может заинтересовать проверка других областей, таких как https://www.googleapis.com/auth/gmail.readonly.

Ссылка

...