2016-12-08 4 views
1

Ich arbeite an einer App mit der Gmail API, und ich kann nicht Etiketten aus Nachrichten entfernen, insbesondere die UNREAD-Bezeichnung. Hier ist der Code ich verwende:Kann Etiketten nicht entfernen gmail api

function modifyMessage(userId, messageId, labelsToRemove, callback) { 
    var request = gapi.client.gmail.users.messages.modify({ 
    'userId': 'me', 
    'id': messageId, 
    'removeLabelIds': labelsToRemove 
    }); 
    request.execute(callback); 
} 

ich diese Funktion aufrufen mit modifyMessage('nothing', id, 'UNREAD', ''); Ich denke, dass der Mangel an ‚Rückruf‘ ist, was könnte dies von Halt machen richtig funktioniert, jedoch habe ich keine Ahnung. Die 'ID' ist meine Nachrichten-ID. Die Dokumente, die ich verwende, sind here. Vielen Dank im Voraus!

Antwort

2

Als documentation states, removeLabelIds hat ein Array sein:

function modifyMessage(messageId, labelsToRemove, callback) { 
    gapi.client.gmail.users.messages.modify({ 
    'userId': 'me', 
    'id': messageId, 
    'removeLabelIds': labelsToRemove 
    }).execute(callback); 
} 

// modifyMessage('<message-id>', ['UNREAD'], callback); 
+0

Aus irgendeinem Grunde ist dies noch nicht, mein genauer Code arbeitet, ist 'Funktion modifyMessage (messageId, labelsToRemove, Rückruf) { gapi.client. gmail.users.messages.modify ({ 'userId': 'me', 'id': Nachrichten-ID, 'removeLabelIds': labelsToRemove }). execute (Rückruf); } Funktion markAsRead (ID) { modifyMessage (ID, ['UNREAD'], Rückruf); } 'und ich nenne es so 'markAsRead (this.id)' (this.id gibt etwas wie' e15lxxxxxxxxxxxxx 'zurück) Danke für Ihre Hilfe! – pudility

+0

macht mir nichts aus, mein Problem war, dass ich den Rückruf nicht definiert habe. Danke Agian – pudility

+0

@ZoeCarver Großartig! Überlegen Sie, die Antwort zu akzeptieren, wenn es funktioniert. – Tholle