見出し画像

【無料記事 2】3 分で完了! Google Gemini API キー取得と GAS 環境整備

こんにちは!無料記事 1 で X 自動投稿システム(半自動化)の土台が完成しました。この記事では、投稿内容の文章作成を AIに任せるための設定を行います。

使うのは、Google が提供する高性能AIモデルGeminiのAPIです。キーさえ取得してGASに設定すれば、すぐにAI連携が可能です。

Part 1: Gemini API キーの取得
まず、Google Gemini APIを利用するための認証キーを取得します。

1-1. Google AI Studio にアクセス
以下の Google AI Studioのページにアクセスし、ご自身のGoogleアカウントでログインしてください。


上記のような利用規約への同意を求めるポップアップが表示されるので、チェックを入れて続行します


1-2. API キーの作成
ログイン後、画面左側メニュー下部にある「Get API key」ボタンをクリックします。

  • 新しいキーが即座に発行されます。

APIキーが発行されたら、上画像の赤枠部分のリンクをクリックするとAPIキーが表示されます。APIキー右側のコピーボタンでキーをコピーできます。

  • このキーは、Part 4でGASに設定するために必要です。必ず安全な場所にコピーし、メモしておいてください。

🚨 最重要注意!: このキーは、あなたのGoogleアカウントの権限を APIに与える、非常に重要なパスワードのようなものです。他人に知られないよう厳重に管理してください。

Part 2: GAS へのコード貼り付け
Part 1 で作成した GASプロジェクトを開き、Gemini APIと通信するためのJavaScriptコードを追加します。

2-1. 新しいスクリプトファイルを作成
GASエディタ左側のメニューから「+」(ファイルを追加)→ 「スクリプト」を選択し、ファイル名を「GeminiIntegration」として保存します。

2-2. 連携コードを貼り付け
新しく作成した GeminiIntegration.js に、既存のコードを消去して以下のコードを全文貼り付け、保存します。

// --- Gemini API 連携コード ---

/**
 * スクリプトプロパティから API キーを安全に取得します。
 * @return {string} Gemini API キー
 * @throws {Error} キーが設定されていない場合
 */
function getApiKey() {
  const props = PropertiesService.getScriptProperties();
  const apiKey = props.getProperty('GEMINI_API_KEY');
  if (!apiKey) {
    // ユーザーに設定漏れを通知するためのエラー
    throw new Error('スクリプトプロパティに "GEMINI_API_KEY" が設定されていません。Part 4-1 を確認してください。');
  }
  return apiKey;
}

/**
 * Gemini API を呼び出し、プロンプトに基づいてテキストを生成します。
 * @param {string} prompt AI に与える指示(プロンプト)
 * @return {string} Gemini が生成したテキスト
 * @throws {Error} API 呼び出しに失敗した場合
 */
function callGeminiApi(prompt) {
  const apiKey = getApiKey();
  // 使用するモデル (gemini-2.5-flash) と API エンドポイント
  const apiUrl = `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-09-2025:generateContent?key=${apiKey}`;

  // API に送信するペイロード (リクエスト本体)
  const payload = {
    contents: [{ parts: [{ text: prompt }] }],
    // リアルタイム情報を参照したい場合は以下のツール設定のコメントを解除してください
    // tools: [{ "google_search": {} }], 
  };

  const options = {
    method: 'post',
    contentType: 'application/json',
    payload: JSON.stringify(payload),
    // HTTP エラーを例外として処理できるようにします
    muteHttpExceptions: true
  };

  try {
    const response = UrlFetchApp.fetch(apiUrl, options);
    const responseCode = response.getResponseCode();
    const responseText = response.getContentText();
    
    if (responseCode !== 200) {
      Logger.log(`APIエラー (コード: ${responseCode}): ${responseText}`);
      throw new Error(`Gemini API 呼び出しに失敗しました。応答: ${responseText.substring(0, 100)}...`);
    }

    const result = JSON.parse(responseText);
    // 応答から生成されたテキスト部分を抽出
    const generatedText = result.candidates?.[0]?.content?.parts?.[0]?.text || "応答が空でした。";
    
    return generatedText;

  } catch (e) {
    Logger.log('Gemini API 呼び出しエラー: ' + e.message);
    // 処理を停止せず、エラーメッセージを返すことも可能です
    return `AI生成エラー: ${e.message}`;
  }
}

/**
 * Gemini API の動作をテストするための関数です。
 * 成功すると、ログに AI の自己紹介が表示されます。
 */
function testGeminiApi() {
  const testPrompt = "AIライティングアシスタントとして、自己紹介をしてください。返答は1文でお願いします。";
  
  try {
    const response = callGeminiApi(testPrompt);
    
    // ログに出力
    Logger.log("========================================");
    Logger.log("✅ Gemini API テスト成功");
    Logger.log("プロンプト: " + testPrompt);
    Logger.log("応答: " + response);
    Logger.log("========================================");
    
    // ユーザーへの通知
    Browser.msgBox("Gemini APIテスト完了", "ログを確認してください。成功していればAIの自己紹介が表示されています。", Browser.Buttons.OK);
    
  } catch(e) {
    // 失敗した場合の処理
    Logger.log("========================================");
    Logger.log("❌ Gemini API テスト失敗");
    Logger.log("エラー: " + e.message);
    Logger.log("========================================");
    Browser.msgBox("Gemini APIテスト失敗", "ログを確認してください。エラーメッセージが表示されています。", Browser.Buttons.OK);
  }
}

このコードには、「APIキーの取得」「Gemini API呼び出しの実行」「簡単な動作テスト」の3つの関数が含まれています。

Part 3: スクリプトプロパティへのキー登録

Gemini APIキーをGASの設定領域に安全に保存します。

3-1. スクリプトプロパティを開く

GASエディタ左側のメニューから「プロジェクトの設定」(⚙️)アイコンをクリックします。

3-2. GEMINI_API_KEYを登録

この画像は新規入力画面ですが、すでに入力済みのスクリプトプロパティがある場合はプロパティの編集をクリックして追加します

「スクリプト プロパティ」セクションを見つけ、「スクリプトのプロパティを編集」をクリックし、以下の1つのキーと値を正確に追加して保存します。
プロパティ:GEMINI_API_KEY
値:
Part 1-2 で取得したAPIキー全体
概要:Gemini APIとの連携キー


Part 4: 動作テストの実行

キーの設定が正しく行われたか、実際にAI呼び出しをテストします。

4-1. testGeminiApi関数を実行

GASエディタの画面上部にある関数ドロップダウンメニューから「testGeminiApi」を選択し、「実行」をクリックします。

  • 初回実行時のみ、Google側で権限の許可を求められます(外部サービスへの接続権限)。すべて許可して進めてください。
    ※無料記事1で許可済みの場合は表示されないと思います。

4-2. ログを確認

実行が完了したら、画面下部の「実行ログ」を確認してください。

ログの確認後は停止ボタンで実行を停止してください
  • 成功していれば、「✅ Gemini API テスト成功」と AIの自己紹介文が表示されます。

  • 失敗していれば、「❌ Gemini API テスト失敗」とエラーメッセージが表示されます。この場合は、GEMINI_API_KEYの値が正しいか再確認してください。

確認後、実行を停止します。

🔑 まとめ:次のステップへ

これで AIが文章を生成するための環境が整いました!

Part 1でのX連携と、このPart 2でのGemini連携が結びつくことで、完全自動の予約投稿システムが完成します。

近日公開⬇️

[→自動化!AIが文章作成→Xに予約投稿する最終コードと設定へ]


いいなと思ったら応援しよう!