0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ブラウザが使えない?ならメールでAIと話せばいいじゃない!GAS + Gemini APIでメール自動返信システムを構築する

0
Posted at

はじめに

「PCのブラウザやスマホアプリの利用は制限されているけれど、メールだけは使える」という環境はありませんか?そんな時、自分宛にメールを送るだけで最新のAI(Gemini)が答えてくれる仕組みがあれば便利です。

本記事では、Google Apps Script (GAS) を使い、Gmailをインターフェースにして Gemini API と対話するシステムの作り方を解説します。Google AI Studioで発行したAPIキーを利用するため、複雑なGoogle Cloudの設定なしで無料で始められます。

システムの動作原理

このシステムは、5分間隔などの時間主導型トリガーによって定期的に実行される「ポーリング方式」を採用しています。

  1. 検索: 受信トレイから件名に「AskGemini」を含む未読メールを検索。
  2. 抽出: 最新メッセージからユーザーの質問内容を抽出。
  3. API送信: 抽出したテキストをGemini APIに送信。
  4. 返信: APIからの回答を元のスレッドに返信。
  5. 既読処理: 二重処理(同じメールへの重複返信)を防ぐため、スレッドを既読にする。

構築ステップ

1. Gemini APIキーの取得

まずは Google AI Studio にアクセスし、APIキーを取得します。

  1. 「Get API key」をクリック。
  2. 「Create API key in new project」を選択して、生成されたキーをコピーしておきます。

2. GASプロジェクトの作成とコードの実装

Google Apps Scriptで新しいプロジェクトを作成し、メイン関数(checkAndReplyWithGemini)とAPI呼び出し関数(callGeminiAPI)を実装します。

ポイント:

  • セキュリティ: APIキーはコードに直接書かず、スクリプトプロパティGEMINI_API_KEY)から取得するようにします。
  • 二重処理防止: 処理の最後に必ず thread.markRead() を実行し、次回の実行対象から外れるようにします。

3. スクリプトプロパティの設定

GASエディタの「プロジェクトの設定(歯車アイコン)」から、取得したAPIキーを設定します。

  • プロパティ: GEMINI_API_KEY
  • 値: (コピーしたAPIキー)

4. 権限の承認(重要)

初回実行時には必ず手動で実行ボタンを押し、権限を承認してください。
※「Google hasn't verified this app(このアプリは確認されていません)」という警告が出た場合は、「詳細(Advanced)」から「[プロジェクト名] (unsafe) に移動」をクリックして進める必要があります。

5. トリガーの設定

システムを自動化するため、「トリガー(時計アイコン)」から以下の設定を追加します。

  • 実行する関数: checkAndReplyWithGemini
  • イベントのソース: 「時間主導型」
  • 時間ベースの型: 「分ベースのタイマー」
  • 時間の間隔: 「5分ごと」

使い方

自分宛に、件名に「AskGemini」と入れてメールを送るだけです。最大5分以内に、Geminiからの回答がスレッド形式で返ってきます。

注意点

  • 本文の精度: メールの署名や引用返信もプロンプトとして送信されるため、質問だけを簡潔に書くのがコツです。
  • 既読管理: 手動でメールを未読に戻すと、再びAIが反応して返信してしまうため注意してください。

おわりに

GASを使えば、Gmailという身近なツールを強力なAIアシスタントに変えることができます。APIの無料枠を活かして、ぜひ自分専用のメールAIを作ってみてください。


参考資料:

  • Google AI Studio
  • Google Apps Script サービス (GmailApp, UrlFetchApp)

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?