LoginSignup
1
1

More than 1 year has passed since last update.

【GAS】GmailAppでメール下書きを開くURLを生成する→できないので検索から開かせる

Last updated at Posted at 2021-09-01

2021/9/9修正:直接開くURLは生成できないので、件名で検索させる

参考

【GAS】Gメールの下書き(ドラフト)機能まとめ【サンプルソース付】
Google Apps Script Reference: Class GmailDraft

やりたいこと

GASでメール下書きを取得し、下書きを直接開くURLを生成したい

やったこと

Gmailを検索するURLから「下書き内で、件名を指定して検索→1件しか出ないはずなのでそれを開く」ようにする
""https://mail.google.com/mail/u/0/#search/in%3Adraft+"+ 件名

GmailDraftのクラスからmessageIdを取得して、draftを開くときのURLに入れ込む
"https://mail.google.com/mail/u/0/#drafts?compose="+ messageId
これでいける。

コード

getDraftUrl.gs
function getDraftUrl() {
  const allMailDrafts = GmailApp.getDrafts();
  const targetDraftSubject = allMailDrafts[0].getMessage().getSubject();

  const targetDraftUrl = "https://mail.google.com/mail/u/0/#search/in%3Adraft+" +targetDraftSubject;

  console.log(targetDraftUrl);
}

メモ

受信トレイのメールに関しては直接開くURLが存在するが、下書きにはないようだった。
次善の案として、検索から直接指定する方法をとった。
記事を書いたときは開けていた直接URLだが今日見たら開けなくなっていた、なんでなのか

getMessageId()の方で取得したIDじゃないと開けない。
getId()は何に使うのかよくわからん。下書きを送信する(send())ときぐらい?

あとがき

メール下書きを一括取得してチェックして一括送信する、みたいな要件があってチェック用にURLを生成したかった。ただ下書きはURLが違うようで参考になるページがなくちょっとかなり苦労したのでメモ。

stack overflow: Obtain a link to a specific email in GMail
Qiita: 【GAS】Gmailのメールのリンクの取得
このへんはうまくいかなかった。下書きじゃなくて受信メールなら↑でいけると思う。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1