カリキュラム Claude Projects 活用 Day4
DAY
04
Claude Projects 活用 · 上級

Claude API 入門 — Google Apps Script で自動化の第一歩

⏱ 120分
TODAY'S GOALS
  • APIとは何かを非エンジニアの視点から理解できる
  • Anthropic APIキーを取得し、Google Apps Script(GAS)から Claude を呼び出せる
  • シンプルなAI自動化スクリプト(メール下書き生成など)を動かせる

API とは何か(非エンジニア向け)

API(Application Programming Interface) は、プログラム同士が「会話」するための窓口です。

わかりやすく言うと:

Claude.ai のウェブサイト
  → 人間がブラウザで操作して質問する

Claude API
  → プログラムが自動で質問を送り、回答を受け取る

API を使うと、「人間が操作しなくてもClaudeが動く」仕組みを作れます。

活用例:

  • スプレッドシートのデータを自動でClaudeに分析させる
  • 毎朝メールをClaudeで要約してSlackに投稿する
  • フォームに回答が来たらClaudeが自動返信を作成する

Google Apps Script(GAS)とは

GASは、Googleが無料で提供するプログラミング環境です。

  • Google スプレッドシート・Gmail・Google ドライブと連携できる
  • ブラウザだけで動く(インストール不要)
  • JavaScriptに似た文法(少し学べば書ける)
  • 費用ゼロで使える

今日は GAS から Claude API を呼び出してみます。


準備: APIキーの取得

Step 1: Anthropic コンソールにアクセス

  1. console.anthropic.com にアクセス
  2. アカウント作成またはログイン
  3. 左サイドバー「API Keys」→「Create Key」
  4. 名前をつけて「Create」→ 表示されたキーをコピー(一度しか表示されない

Step 2: クレジットを追加

無料枠($5相当)がありますが、使い切ったら有料プランが必要です。
学習目的なら $5〜10 程度で十分です。

APIキーの管理

❌ やってはいけないこと
- スクリプト本文に直接書く(例: const key = "sk-ant-...")
- GitHubなど公開リポジトリにアップロードする

✅ 正しい管理方法
- GASの「スクリプトプロパティ」に保存する(後述)

GASでClaudeを呼び出す(ステップバイステップ)

Step 1: GASエディタを開く

  1. Google スプレッドシートを開く
  2. 「拡張機能」→「Apps Script」
  3. GASエディタが開く

Step 2: APIキーをプロパティに保存

GASエディタの左サイドバー「プロジェクトの設定」(歯車アイコン)→「スクリプトプロパティ」→「プロパティを追加」:

  • プロパティ名: CLAUDE_API_KEY
  • 値: 先ほどコピーしたAPIキー(sk-ant-...

Step 3: スクリプトを書く

function askClaude(userMessage) {
  // APIキーをプロパティから取得(コードに直書きしない)
  const apiKey = PropertiesService.getScriptProperties().getProperty('CLAUDE_API_KEY');
  
  const url = 'https://api.anthropic.com/v1/messages';
  
  const payload = {
    model: 'claude-sonnet-4-6',
    max_tokens: 1024,
    messages: [
      {
        role: 'user',
        content: userMessage
      }
    ]
  };
  
  const options = {
    method: 'post',
    contentType: 'application/json',
    headers: {
      'x-api-key': apiKey,
      'anthropic-version': '2023-06-01'
    },
    payload: JSON.stringify(payload)
  };
  
  const response = UrlFetchApp.fetch(url, options);
  const json = JSON.parse(response.getContentText());
  
  return json.content[0].text;
}

// テスト実行用
function testClaude() {
  const result = askClaude('こんにちは!今日の天気を教えてください。');
  Logger.log(result);
}

Step 4: テスト実行

testClaude 関数を選択して「実行」ボタン(▶)をクリック。
「ログ」ビューにClaudeの回答が表示されれば成功です。


実践スクリプト: メール下書き自動生成

スプレッドシートに問い合わせ内容を貼り付けると、返信下書きを自動生成するスクリプトです。

function generateEmailReply() {
  const sheet = SpreadsheetApp.getActiveSheet();
  
  // B列の最終行を取得
  const lastRow = sheet.getLastRow();
  
  for (let row = 2; row <= lastRow; row++) {
    const inquiry = sheet.getRange(row, 2).getValue(); // B列: 問い合わせ内容
    const status  = sheet.getRange(row, 4).getValue(); // D列: 処理済みかチェック
    
    if (!inquiry || status === '完了') continue;
    
    const prompt = `
以下のお問い合わせに対する返信メールの下書きを作成してください。

【お問い合わせ内容】
${inquiry}

【条件】
- 丁寧な敬語で書く
- 件名も含める
- 結論を最初に書く
- 署名は「〇〇株式会社 カスタマーサポート」
    `;
    
    const reply = askClaude(prompt);
    
    sheet.getRange(row, 3).setValue(reply); // C列に下書きを出力
    sheet.getRange(row, 4).setValue('完了'); // D列を完了に
  }
  
  SpreadsheetApp.getUi().alert('返信下書きの生成が完了しました');
}

スプレッドシートの列構成:

A列B列C列D列
日付問い合わせ内容返信下書き(AI生成)処理状況

システムプロンプトを追加する

よりClaudeを専門特化させるには system パラメータを追加します。

const payload = {
  model: 'claude-sonnet-4-6',
  max_tokens: 1024,
  system: 'あなたは〇〇株式会社のカスタマーサポート担当AIです。丁寧な敬語で、簡潔に回答してください。',
  messages: [
    {
      role: 'user',
      content: userMessage
    }
  ]
};

練習ワーク

Step 1: GASを開いてAPIキーを設定する(20分)

スプレッドシートを新規作成 → 拡張機能 → Apps Script → スクリプトプロパティにAPIキーを保存

Step 2: askClaude 関数を貼り付けてテスト実行する(30分)

上記のコードをコピーして コード.gs に貼り付け、testClaude を実行して動作確認。

Step 3: メール下書き生成スクリプトを動かす(40分)

スプレッドシートのB列に架空の問い合わせ内容を3件入力し、generateEmailReply を実行。C列に下書きが生成されることを確認します。


まとめ

今日学んだことでできること:

  • Googleスプレッドシートのデータを自動でAI処理
  • GmailやGoogleフォームと組み合わせた自動化
  • 定型業務をトリガーベースで自動実行

次の一歩は、トリガーの設定です。GASでは「毎日9時に実行」「フォームが送信されたら実行」などのトリガーを設定できます。Day 5でこれを使った仕組み化を学びます。

📝
TODAY'S DELIVERABLE
GASでClaudeのAPIを呼び出し、動作確認のスクリーンショットを提出する
提出フォームへ →