編集:以下の最初のコメントに対処し、わかりやすくするために、これはコードの質問ではありません。問題は単純です:
Gmail APIによって作成されたドラフトメッセージを表示するには、新しいGmail UIのURIクエリ文字列に何を入力しますか?
これは実際にはコードの質問ではありませんが、Gmail APIの質問にGoogleが推奨するプラットフォームであるため、StackOverflowについて質問しています。
-
新しいGmailUIでドラフトメッセージを表示すると、URIは次のようになります。
GmailAPIを介して作成されたメッセージのIDまたはThreadIdからそのようなリンクを作成する方法がわかりません。
以前は、これを行うことができました:
https://mail.google.com/mail/u/1/?zx=ov61dxfbrcga#drafts?compose=1631caae9dbb074d
ここで、「compose」の値はIdです。
新しいUIで同じことをどのように達成できますか?
@ frank-szilinskiに感謝します-彼は、古いフォーマットが現在翻訳されていることを指摘しました。つまりこれは再び機能します:
https://mail.google.com/mail/ca/u/1/#drafts/1661237c4db71ace
ただし、Gmailタブがまだ開いていない場合は機能しないようです。
私は同じ問題に直面していて、この問題である程度の成功を収めています。また、まだ解決できない問題もいくつかあります。
朗報:新しいcompose
パラメータ形式は、ある種の「base40」エンコーディングです。 Gmailのソースで制限されたアルファベット文字列を検索し、このエンコード/デコードを実行するコードを見つけて難読化を解除しました: https://Gist.github.com/danrouse/52212f0de2fbfe33cfc56583f20ccb74
このコードには、Gmail形式のクエリパラメータで機能するencode
およびdecode
関数が含まれています。
悪いニュース:下書きメールを開くためにエンコードしている値は、GmailAPIを使用して利用できないようです。具体的には、次のようになります。thread-f:NEW_THREAD_ID+msg-a:DRAFT_ID
-ドラフトIDは以前と同じですが、スレッドIDはGmailAPIが返すIDのいずれとも一致していないようです。
興味深いことに、Gmail UIで件名の行を調べると、古い形式と新しい形式のIDの両方を含むデータセット属性がありますが、プログラムで新しい形式を取得する方法はまだ不明です。
@kremonteGistと@ chris-woodのコメントに基づいて、open-the-draft-inside-gmailURLを正しく作成するRails gemを作成しました。
ここにあります- https://github.com/GoodMeasuresLLC/gmail_compose_encoder
これは、「コードで下書きが作成され(もちろん、テキストが事前に入力されています)、ユーザーが「送信」をクリックする前に下書きを確認できるように、下書きを作成モードで開きたい」というユースケース用です。