Я хочу изменить метку отдельного письма программно в gmail в скрипте Google.Я не могу использовать стандартную службу GmailApp , потому что она применяет действия ко всей цепочке, а не к отдельной электронной почте.Я нашел несколько примеров того, как это делается с помощью расширенного API Gmail ( Поиск / замена ярлыков в определенных сообщениях (не во всей цепочке) с помощью Google Apps Script ).Но я не имел успеха с этим.Я получаю следующую ошибку:
Указано неверное количество аргументов.Ожидается только 3-4 (строка 5, файл "test")
Вот фрагмент кода, который я пробовал в Редакторе скриптов Google:
function changeLabel() {
var addLabel = '3to-smartsheetstest';
var removeLabel = '3to-smartsheets';
var msgId = '142b7c52e4cc4619';
var msgLabel = Gmail.Users.Messages.modify({
'userId': 'me',
'id': messageId,
'resource':{
'addLabelIds': [addlabel],
'removeLabelIds': [removelabel]
}
})
}
В документации по ресурсам Google сказано, что для javascript нужно структурировать такие параметры:
'userId': userId,
'id': messageId,
'addLabelIds': labelsToAdd,
'removeLabelIds': labelsToRemove
Но, похоже, это действительно нужно структурировать следующим образом (пояснено в отчете об ошибке здесь: https://github.com/google/google-api-nodejs-client/issues/312):
'userId': 'some email address',
'id': 'some message id',
'resource':{
'addLabelIds': ['some label id'],
'removeLabelIds': []
}
В любом случае я получаю ту же ошибку.