はじめに
こんにちは、エンジニアのkeitaMaxです。
今回はGmailが来た時にAPIを叩きたいということで、
毎分メールをチェックして未読メールがあればAPIを叩くという方法で実装してみようと思います。
AppScriptにコードを書く
AppScriptを使います。
AppScriptを開き、プロジェクトを作成します。
https://script.google.com/home
すると以下のようにコードが入力できる画面に遷移するので
以下のコードを入力します。
function checkEmails() {
var threads = GmailApp.search("is:unread"); // 未読メールを取得
var messages = GmailApp.getMessagesForThreads(threads);
messages.forEach(thread => {
thread.forEach(message => {
var emailData = {
subject: message.getSubject(),
from: message.getFrom(),
body: message.getPlainBody()
};
// 自身のサーバーのAPIを呼ぶ
UrlFetchApp.fetch("https://{自分のAPI}", {
method: "post",
contentType: "application/json",
payload: JSON.stringify(emailData)
});
// メールを既読にする
message.markRead();
});
});
}
トリガーの設定
上の画像のトリガーをクリックします。
トリガーを追加から以下のように毎分行うようにします。
これで保存をし、以下のように追加されていれば成功です。
おわりに
この記事での質問や、間違っている、もっといい方法があるといったご意見などありましたらご指摘していただけると幸いです。
最後まで読んでいただきありがとうございました!