이 코드는 스레드의 특정 메시지에 레이블을 추가하는 동안 오류를 반환하지 않으며 스레드 목록 방법을 사용하면 특정 메시지 ID (별도 처리됨)에만 배치된다는 것을 알 수 있습니다. 하지만 UI (Gmail 사이트)가 대화 모드에 있으면 두 라벨에서 모두 볼 수 있습니다.
function searchMail(){
var threads = GmailApp.search("SOME SEARCH");
Logger.log(threads.length);
listLabel('me');
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
Logger.log(messages.length);
for (var j = 0; j < messages.length; j++){
if (messages[j].isInInbox()){
Logger.log('me' + 'id msg: ' + messages[j].getId());
//Add label to the first reply
addLabel('me',messages[1].getId());
}
else{
Logger.log('me' + 'id msg: ' + messages[j].getId() +" not in inbox");
}
}
}
}
function addLabel(userId, messageId){
var resource = {addLabelIds: ["Label_6"]}
Gmail.Users.Messages.modify(resource, userId, messageId);
}
Gmail 인터페이스에서 개별 메일에 라벨을 지정할 수 있기 때문에 불가능하다고 생각합니다. 지금까지 Gmail에서 할 수있는 모든 것을 경험 했으므로 Apps Script를 할 수 있습니다. – Vincent