このコードは、スレッド内の特定のメッセージにラベルを追加する際にエラーを返さず、スレッドリストメソッドを使用すると、特定のmessageID(別々に扱われる)にしか置かれないことがわかります。しかし、あなたの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