2015-10-16 12 views
8

問題:メールへの返信は、2人の電子メールメッセージ(上良いが含まれているスレッドとして表示され、受信側では、その後のAPIを経由して送信された場合受信者側)、送信者には受信トレイに1つと送信メールに2つの異なるメールがあります(送信側の問題)。例えばGmailのAPIは、イン返信先(Googleが片側に処理していない)動作していない

メールB. 再びAからBに送られて-Reply-」にA.

私は、以前の電子メールメッセージIDを与えているAPIで、ここ

に送信しますTo "と" References "(rfc822フォーマットによる)の場合、GoogleはA側でそのメッセージIDを処理しますが、B側では処理しません。 Aは1つのスレッドで2つのメッセージとしてメッセージを受信しますが、Bのアカウントでは受信トレイに1つ、送信に2つの別々のメールとして表示されます。

APIが使用:

https://www.googleapis.com/upload/gmail/v1/users/me/messages/send?uploadType=multipart のContent-Type: "メッセージ/ RFC822;境界= foo_bar_baz"

答えて

5

これは私のプロダクションアプリでも同様です。 change logは、として何が起こったのかの手がかりを与えていないが、私はmanaging threadsのための新しいドキュメントに問題が見つかりました:

  1. 要求threadIdがあなたのリクエストで供給MessageまたはDraft.Messageに指定する必要があります。
  2. ReferencesIn-Reply-Toヘッダーは、RFC 2822標準に準拠して設定する必要があります。
  3. Subjectヘッダーが一致する必要があります。すなわち

threadIdを供給する必要があります。同じ日に更新されたsending message文書には記載されていないため、これはバグかどうかわかりません。

受信トレイの最新のメッセージに返信したいと思います。のは、関連する情報を取得してみましょう:

要求1:

maxResults = 1 
fields = messages/id 

GET https://www.googleapis.com/gmail/v1/users/me/messages?maxResults=1&fields=messages%2Fid 

レスポンス1:

{ 
"messages": [ 
    { 
    "id": "15071b210a1ac883", 
    "threadId": "15071a4886871a10" 
    } 
] 
} 

要求2:

format = metadata 
metadataHeaders = In-Reply-To,References,Message-ID,Subject 
fields = payload/headers 

GET https://www.googleapis.com/gmail/v1/users/me/messages/15071b210a1ac883?format=metadata&metadataHeaders=In-Reply-To&metadataHeaders=References&metadataHeaders=Message-ID&metadataHeaders=Subject&fields=payload%2Fheaders 

応答:

{ 
"payload": { 
    "headers": [ 
    { 
    "name": "In-Reply-To", 
    "value": "<[email protected]om>" 
    }, 
    { 
    "name": "References", 
    "value": "<[email protected]om>" 
    }, 
    { 
    "name": "Message-ID", 
    "value": "<CADsZLRzipMRrQv-[email protected]>" 
    }, 
    { 
    "name": "Subject", 
    "value": "Re: Perculiar" 
    } 
    ] 
} 
} 

すべてのことが残っているが、適切な場所にすべてのデータを含むメッセージを作成することです:

要求3:

POST https://www.googleapis.com/upload/gmail/v1/users/me/messages/send?uploadType=multipart 
Content-Type: multipart/related; boundary="foo_bar_baz" 

--foo_bar_baz 
Content-Type: application/json; charset=UTF-8 

{ 
    "threadId": "15071a4886871a10" 
} 

--foo_bar_baz 
Content-Type: message/rfc822 

Content-Type: multipart/mixed; boundary="foo_bar" 
In-Reply-To: <[email protected]om> 
References: <[email protected]om> <[email protected]om> 
From: [email protected] 
To: [email protected] 
Subject: Re: Perculiar 

--foo_bar 
Content-Type: text/html; charset="UTF-8" 
MIME-Version: 1.0 
Content-Transfer-Encoding: 7bit 

<div dir="ltr"><b> This is where the message text goes </b></div> 

--foo_bar 
Content-Type: image/png 
MIME-Version: 1.0 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; filename="cool.png" 

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 

--foo_bar-- 
--foo_bar_baz-- 

これは、その結果以前と同様にスレッドが添付された新しいメッセージ:

enter image description here

+0

まず、ソリューションとその優れた機能を提供していただきありがとうございます。上記の解決策で「Gmail>メールマークアップ」(https://developers.google.com/gmail/markup/actions/handling-action-requests)を実装しようとしたとき、iamはgmailのREST APIを使用してこれを達成できませんでした、私はこのURL(https://moz.com/blog/markup-for-emails)で言及されているgooglescriptを使ってそれを達成することができます。しかし、私は上記の方法を使用してGmailの残りのAPIを使用して達成したい。あなたは私にこれを助けることができます –

+0

GmailのマークアップのためのGoogleスクリプトプロジェクトコードは、次のリンクにあります(https://script.google.com/d/1bF-QUXi6Wflm9HuMdqvaLTrmekrInCLw214EKY97RuQ3zVH_AL6X9I7v/edit?usp=sharing) –

+0

私はこれを試しましたが、 jsonは添付ファイルとして受信されます。 –

2

は、それが送信者にスレッドを取得する

リクエストボディは、RFC2822形式でありますまた、send()コールの一部としてMessage.threadIdフィールドを指定する必要があります。 (それは現在、自動的には起こらない、残念なことに。)

関連する問題