Gmail-API-In-Reply-To funktioniert nicht (Google bearbeitet nicht auf einer Seite)

8

Problem: Wenn die Antwort auf die E-Mail über api gesendet wird, wird sie auf der Empfängerseite als Thread angezeigt, der zwei E-Mail-Nachrichten enthält ( auf der Empfängerseite ), aber den Absender hat zwei verschiedene E-Mails, eine im Posteingang und eine in Gesendete E-Mail ( Problem auf der Senderseite ).

zum Beispiel:

E-Mail wird von A nach B gesendet. Wieder sendet B an A.

Hier in api gebe ich die vorherige E-Mail-ID in "In-Reply-To" und "References" ein (gemäß dem Format rfc822). Google bearbeitet diese Nachrichten-ID auf der A-Seite, aber nicht auf B Seite. A empfängt die Nachricht in einem einzelnen Thread als zwei Nachrichten, aber in B-Konto wird es als zwei separate E-Mails angezeigt, eine im Posteingang und eine in gesendet.

Api verwendet:

Ссылка Inhaltstyp: "message / rfc822; boundary = foo_bar_baz"

Anfrage Körper ist im RFC2822 Format

    
pavan kumar 16.10.2015, 13:29
quelle

2 Antworten

5

Das habe ich heute auch in meiner Produktions-App bemerkt. Das Änderungsprotokoll gab keinen Hinweis darauf, was passiert ist, aber ich habe das Problem in der neuen Dokumentation gefunden Threads verwalten :

  
  1. Die angeforderte threadId muss in Message oder Draft.Message angegeben werden, die Sie mit Ihrer Anfrage angeben.
  2.   
  3. Die Header References und In-Reply-To müssen dem Standard RFC 2822 entsprechen.
  4.   
  5. Die Header Subject müssen übereinstimmen.
  6.   

Mit anderen Worten, die threadId muss geliefert werden. Ich weiß nicht, ob dies ein Bug ist oder nicht, da er nicht in der sendenden Nachricht dokumentiert ist -Dokumentation, die am selben Tag aktualisiert wurde.

Ich möchte auf die letzte Nachricht in meinem Posteingang antworten. Lassen Sie uns die relevanten Informationen erhalten:

Anfrage 1:

%Vor%

Antwort 1:

%Vor%

Anfrage 2:

%Vor%

Antwort:

%Vor%

Alles, was übrig bleibt, ist eine Nachricht mit all diesen Daten an den richtigen Stellen zu erstellen:

Anfrage 3:

%Vor%

Dies führt zu einer neuen Nachricht mit einem Anhang wie zuvor:

    
Tholle 16.10.2015, 18:30
quelle
2

Damit es auch auf der Senderseite gesandt wird, müssen Sie das Feld Message.threadId als Teil Ihres Aufrufs send () angeben. (Das passiert derzeit leider nicht automatisch.)

    
Eric D 16.10.2015 18:14
quelle

Tags und Links