はじめに
「今日の献立が決まらない」「冷蔵庫の余り物でプロ級のカレーを作りたい」
そんな悩みは、Google Apps Script (GAS) と Vertex AI (Gemini API) の連携で解決しましょう!
本記事では、GASからVertex AIを呼び出し、指定した条件に沿った「最高のカレーレシピ」をスプレッドシートに出力するまでの手順を解説します。
構成
- Google AI StudioでAPIキーを取得
- GASの実装
- 実行確認
1. 前準備:APIキーの取得
まずは、Geminiモデルを動かすためのAPIキーを取得します。
- Google AI Studio にアクセス。
- Get API key をクリック。
- 新しいプロジェクト、または既存のプロジェクトでAPIキーを生成し、コピーしておきます。
2. GASの実装
スプレッドシートの「拡張機能」>「Apps Script」を開き、以下のコードを貼り付けてください。
/**
* Vertex AI (Gemini 1.5 Flash) を呼び出してカレーのレシピを生成する
*/
function generateCurryRecipe() {
// --- 設定項目 ---
const API_KEY = 'ここに取得したAPIキーを入力';
const MODEL_ID = 'gemini-1.5-flash';
const API_URL = `https://generativelanguage.googleapis.com/v1beta/models/${MODEL_ID}:generateContent?key=${API_KEY}`;
// --- プロンプトの設定 ---
const prompt = `
あなたはプロの料理研究家です。
以下の条件で、最高に美味しいカレーのレシピを教えてください。
【条件】
・隠し味に「チョコレート」を使用すること
・玉ねぎを飴色にするための時短テクを入れること
・スパイスの香りを立たせるコツを解説すること
・材料と手順、おいしく作るためのワンポイントアドバイスを記載すること
`;
const payload = {
"contents": [{
"parts": [{
"text": prompt
}]
}]
};
const options = {
"method": "post",
"contentType": "application/json",
"payload": JSON.stringify(payload),
"muteHttpExceptions": true
};
// --- API実行 ---
try {
const response = UrlFetchApp.fetch(API_URL, options);
const result = JSON.parse(response.getContentText());
if (result.candidates && result.candidates[0].content) {
const recipe = result.candidates[0].content.parts[0].text;
// アクティブシートのA1セルに出力
const sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange('A1').setValue(recipe);
console.log('レシピ生成完了!');
} else {
console.error('APIからの応答にエラーがありました:', result);
}
