「GASの自動化を始めたいけど、設定が難しそう…」と不安に思っていませんか?
実は、GASで外部サービスを操るために必要なのは、「合言葉(APIキー)」を手に入れることだけです。
そもそも「GAS」とは?
GAS(Google Apps Script)は、Googleが提供する「Googleワークスペースを自動操縦するための魔法の杖」です。
特別なソフトをインストールすることなく、ブラウザひとつでメール送信やデータ集計を全自動化できます。
APIとは要するに何?
APIを一言でいうなら、「サービス専用の窓口に並ぶための整理券」です。
たとえば、あなたがデパート(Google)の厨房(AIやデータ)に直接入ることはできませんが、店員さん(API)に「整理券(APIキー)」を見せれば、代わりに料理を作って持ってきてくれます。
Gemini API:AIの「脳みそ」を呼び出す窓口
今回の自動化で主役となるのが「Gemini API」です。これはGoogleが誇る最新AIの機能を、あなたのプログラムから直接呼び出すための窓口です。
テキストの生成や要約など、これまで人間が頭を使っていた作業をGASが代わりに実行するための「脳」の役割を果たします。
1. Gemini API の整理券を「無料」でもらう
まずは、AIの脳みそであるGeminiを使えるようにします。
「Geminiの有料プランに入っていないとダメなの?」と思うかもしれませんが、結論、無料でOKです!
開発者向けの「Google AI Studio」には無料枠が用意されており、個人の自動化レシピを試す分には十分すぎるほど無料で使えます。
- Google AI Studioにアクセスします。
- 左メニューの「APIキーを作成」をクリック。
-
ポイント: 初めて開いた場合、すでにデフォルトのキーが作成されていることがあります。その場合は、表示されている英数字のキーをコピーするだけでOKです!
※新しく作りたい場合は「キーを作成」ボタンから発行できます。 - 表示された長い英数字をコピーします。これが、あなたの「無料整理券(APIキー)」になります。
2. プロジェクトを作成し、開発室を準備する
GASを始めるには、まずGoogleドライブ内で「プロジェクト」というファイルを作る必要があります。
GASプロジェクトを新規作成する
- Googleドライブを開きます。
- 左上の「+ 新規」をクリック。
- 「その他」 > 「Google Apps Script」 を選択します。
- 新しいエディタ画面が開いたら、左上の「無題のプロジェクト」をクリックして、好きな名前(例:マザーシステム)に変更しておきましょう。
3. 【最重要】取得したキーを「金庫」に保存する
手に入れたキーをプログラムの中に直接書いてはいけません。GASには「スクリプトプロパティ」という安全な金庫があります。
- GASエディタ左側の歯車アイコン(プロジェクトの設定)をクリック。
- 一番下の「スクリプトプロパティを編集」をクリック。
- 以下の名前と値を入力して保存します。
| 名前(プロパティ) | 値(あなたがコピーした内容) |
|---|---|
| GEMINI_API_KEY | 取得したAPIキー |
4. 実行時の「承認」手順(初回のみ)
初めてプログラムを実行するとき、Googleから「このプログラムに外部への接続を許可しますか?」と確認が出ます。少し驚く画面かもしれませんが、以下の手順で進めてください。
- 「実行」ボタンを押すと、「承認が必要」と出るので「権限を確認」をクリック。
- 自分のGoogleアカウントを選択。
- 「このアプリは Google で確認されていません」という画面が出たら、左下の「詳細」をクリック。
- 一番下に出現する「(プロジェクト名)に移動」をクリック。
- 最後に「許可」を押せば完了です!
💡 ためしにAPIを使ってみよう:AIジョーク・テスト
設定が正しいか、実行ログにAIからのジョークを表示させて確認しましょう。このコードは、自動的に「今使える最適なモデル」を探索して接続する機能をもっています。
/**
* Gemini API 接続テスト(自動モデル探索版)
* 複数の候補から今すぐ使えるモデルを自動で見つけ出し、ジョークを生成します。
*/
function testGeminiConnection() {
// 1. 金庫(スクリプトプロパティ)からAPIキーを取り出す
const apiKey = PropertiesService.getScriptProperties().getProperty('GEMINI_API_KEY');
if (!apiKey) {
console.error("❌ APIキーが見つかりません。手順3のプロパティ設定を確認してください。");
return;
}
// 2. 試行するモデルの候補リスト(優先度順)
// Geminiは進化が早いため、一つがダメでも他が動くように予備を含めています
const candidates = [
{ name: "gemini-2.5-flash-lite-preview-09-2025", version: "v1beta" }, // 最新の軽量・高速モデル
{ name: "gemini-2.0-flash-exp", version: "v1beta" }, // 2.0系の実験的モデル
{ name: "gemini-1.5-flash", version: "v1" } // 1.5系の安定版モデル
];
console.log("🔄 接続可能なモデルを探索中...");
// 3. 使えるモデルが見つかるまで順番にリクエストを試行
for (const model of candidates) {
// API呼び出し用のURLを組み立て
const url = `https://generativelanguage.googleapis.com/${model.version}/models/${model.name}:generateContent?key=${apiKey}`;
// AIへの命令(プロンプト)
const payload = {
"contents": [{ "parts": [{ "text": "事務職の人がクスッと笑えるような、短いジョークを1つだけ教えてください。" }] }]
};
const options = {
"method": "post",
"contentType": "application/json",
"payload": JSON.stringify(payload),
"muteHttpExceptions": true // エラー時も処理を止めずに詳細ログを取得する設定
};
try {
const response = UrlFetchApp.fetch(url, options);
const status = response.getResponseCode();
// ステータス200(成功)の場合のみ処理
if (status === 200) {
const json = JSON.parse(response.getContentText());
const joke = json.candidates?.[0]?.content?.parts?.[0]?.text;
if (joke) {
console.log(`✅ 接続成功! 使用モデル: ${model.name}`);
console.log("--- AIからのジョーク ---");
console.log(joke);
return; // 成功したのでここで関数を終了
}
} else {
console.warn(`⚠️ ${model.name} は現在利用できません (Status: ${status})`);
}
} catch (e) {
console.warn(`⚠️ ${model.name} で通信エラーが発生しました: ${e.message}`);
}
}
console.error("❌ すべてのモデルで接続に失敗しました。APIキーを確認してください。");
}
コードの解説
このテストコードには、単に文字を出すだけではない、実戦的な工夫が含まれています。
- ジョーク生成による開通確認: 接続できたかどうかを確認するために、AIに短いジョークを考えさせています。実行ログにAIらしい回答が表示されれば、あなたのGASプロジェクトにAIの「脳」が正しく接続された証拠です。
- 自動モデル探索機能: Geminiには多くのモデル(バージョン)が存在し、時期やAPIのバージョン(v1 / v1beta)によって「今使えるもの」が変動します。特定のモデルを決め打ちすると、Google側の更新で突然エラーになるリスクがあるため、このコードでは「今動くモデルを候補の中から自動で探し出す」仕組みを導入しています。
- エラーを恐れない設計:
muteHttpExceptions: trueを使うことで、もし特定のモデルが404エラーなどで接続できなくても、プログラムを止めずに次の候補を試す「粘り強い」設計になっています。
コメント
コメントを投稿