はじめに
こんにちは、エンジニアのkeitaMaxです。
今回はGmailが来た時にAPIを叩きたいということで、
毎分メールをチェックして未読メールがあればAPIを叩くという方法で実装してみようと思います。
AppScriptにコードを書く
AppScriptを使います。
AppScriptを開き、プロジェクトを作成します。
https://script.google.com/home
すると以下のようにコードが入力できる画面に遷移するので
以下のコードを入力します。
function checkEmails() {
var senderEmail = "notifications@github.com"; // 取得したい送信元のメールアドレス
var searchQuery = "from:" + senderEmail + " newer_than:30m"; // 30分以内のメールを検索
var threads = GmailApp.search(searchQuery); // スレッドを検索
// threadsが空でないか確認
if (threads.length === 0) {
Logger.log("条件に合うメールがありませんでした。");
return;
}
threads.forEach(thread => {
const messages = thread.getMessages();
messages.forEach(message => {
UrlFetchApp.fetch("{~叩きたいAPI~}", {
method: "post",
contentType: "application/json",
payload: JSON.stringify(message)
});
});
});
}
トリガーの設定
上の画像のトリガーをクリックします。
トリガーを追加から以下のように毎分行うようにします。
これで保存をし、以下のように追加されていれば成功です。
おわりに
この記事での質問や、間違っている、もっといい方法があるといったご意見などありましたらご指摘していただけると幸いです。
最後まで読んでいただきありがとうございました!