GoogleCalendar

Google Calendar API 設定ガイド 2026版:プロジェクト作成と課金

ⓘ本ページはプロモーションが含まれています

お得なお知らせ

スポンサードリンク
タイプ別にすぐ選べる

2026年、ビジネス競争力を上げる2ルート

"組織を動かす"立場と"個人スキルを伸ばす"立場では必要な打ち手が違います。自分の役割で選んでください。

▷ 部門・全社でAIリテラシー研修を入れたい管理職・人事・経営層

【Kindle本】イノベーションOps 組織を動かすDX&AI導入プロセスのすべて

▷ 個人のビジネススキル・思考法を"本から"底上げしたい実務担当者

Kindle Unlimited 30日無料|ビジネス書読み放題▶

※積極的な自己学習が成長への近道です

▶ 耳で学ぶビジネススキルなら オーディオブックAudible 。日経BP・東洋経済系の話題作も対象です。


Contents

スポンサードリンク

1. プロジェクト作成と課金設定

Google Calendar API を利用するには、まず Google Cloud Console にプロジェクトを作成し、課金(無料トライアル含む)を有効化する必要があります。このセクションでは、手順の概要と注意点を解説します。

1‑1. プロジェクト作成手順

※ UI の名称は2026年4月時点のものです。Google がコンソールのレイアウトやメニュー名を変更した場合は、公式ドキュメント(Console navigation guide)と照らし合わせて修正してください。

  1. コンソール左上の 「ナビゲーション メニュー」「IAM と管理」「プロジェクト」 を開き、「プロジェクトを作成」 ボタンをクリックします。
  2. プロジェクト名請求先アカウント(組織がある場合は所属組織) を入力し、「作成」 を確定します。
  3. 作成完了画面で表示される プロジェクト ID は自動生成ですが、必要に応じて編集できます。

ポイント:1 つのプロジェクトは 1 つの課金アカウントにしか紐付けられません。複数サービスで共有したい場合は「フォルダ」や「組織レベル」の課金設定を検討してください。

1‑2. 無料トライアルと Enterprise カレンダー課金

Google Cloud の $300 無料クレジット は、公式ページ に記載されています。無料枠が終了した後に発生する可能性のある Enterprise カレンダー(拡張機能) の料金は、Pricing – Google Calendar API を必ず参照してください。

項目 内容 公式リンク
無料トライアルクレジット $300 相当(90日以内に使用) https://cloud.google.com/free
Enterprise カレンダー課金 標準 API は無料、拡張機能は従量課金制 https://cloud.google.com/calendar/pricing
クレジット残高確認方法 コンソール 「請求」 → 「ダッシュボード」 同上

注意:無料枠の有効期限や残高は随時確認し、予算アラート(Billing budgets)を設定して過剰課金を防止します。


2. Calendar API の有効化と OAuth 認証情報取得

API を呼び出す前に対象プロジェクトで Google Calendar API を有効化し、OAuth 2.0 クライアント ID/シークレットを作成します。ここでは UI 手順の変動リスクを踏まえ、「API とサービス」 メニューの最新名称と位置情報も併記しています。

2‑1. API 有効化手順

※ 「API とサービス」のメニュー名は変更される可能性があります。公式コンソールナビゲーションを定期的に確認してください。

  1. コンソール左側の 「API とサービス」 → 「ライブラリ」 を開きます。
  2. 検索バーに 「Google Calendar API」 と入力し、表示されたカードの 「有効化」 ボタンをクリックします。
  3. 有効化が完了すると自動的にダッシュボードが作成され、使用量やエラーログが確認できるようになります。

ポイント:開発・本番など複数環境で利用する場合は、それぞれのプロジェクトで同様の手順を繰り返す必要があります。

2‑2. OAuth クライアント ID/シークレット取得

  1. 「API とサービス」 → 「認証情報」 ページへ移動し、「認証情報作成」 ボタンから 「OAuth クライアント ID」 を選択します。
  2. アプリケーションの種類を 「ウェブアプリケーション」(サーバー側)または 「デスクトップ アプリ」 に設定し、リダイレクト URI を環境別に登録します(下表参照)。
  3. 作成後に表示される クライアント IDクライアント シークレット は、必ず 環境変数または Secret Manager に保存し、コードベースにハードコーディングしないでください。

環境別リダイレクト URI 表

環境 推奨リダイレクト URI
ローカル開発 http://localhost:8080/oauth2callback
ステージング https://staging.example.com/oauth2callback
本番 https://app.example.com/oauth2callback

注意:本稿で示した URI はあくまで例です。実際に使用するドメイン・パスは **「認証情報」ページのリダイレクト URI 設定と完全一致させてください。設定ミスマッチがある場合、OAuth フローは失敗します。

2‑3. 同意画面(OAuth Consent Screen)のカスタマイズ

  1. 認証情報ページ上部タブの 「同意画面」 を選択し、対象ユーザーを 外部 または 内部 に設定します。
  2. アプリ名・サポートメール・ロゴ画像・プライバシーポリシー URL など必須項目を入力し、「保存して続行」 をクリックします。
  3. 必要なスコープ(例:calendar.readonlycalendar.events)だけを選択し、最小権限の原則に従った設定で完了です。

ポイント:Google の審査が必要になる場合は、「スコープ」 ページで提示される権限一覧と実装機能が一致しているか必ず確認してください。


3. 必要スコープと最小権限設計

カレンダー API のスコープは 読み取り専用フルアクセス の 2 種類に大別されます。セキュリティ上のベストプラクティスとして、アプリが本当に必要とするスコープだけを選択してください。

3‑1. 推奨スコープ一覧

スコープ 権限内容 主な利用シーン
https://www.googleapis.com/auth/calendar.readonly カレンダー情報の読み取りのみ レポート、閲覧専用アプリ
https://www.googleapis.com/auth/calendar.events イベントの作成・更新・削除を含むフルアクセス スケジューラ、リマインダー自動生成

注意:2026年時点で細分化された calendar.events.readonly / calendar.events.write は提供されていません。最小権限は「読み取り」か「フルアクセス」のどちらかになります。

3‑2. 権限リスク軽減策

  1. スコープレビュー:OAuth 同意画面で提示される権限一覧を事前に確認し、過剰な権限がないか検証します。
  2. アクセストークン有効期限の短縮:デフォルトは約 1 時間です。必要に応じてバックエンド側でリフレッシュトークンを用いて自動更新し、長時間放置したトークンの悪用リスクを低減します。
  3. 定期的な権限見直し:実装機能とスコープのマッピングを半年ごとにレビューし、不要になったスコープは削除します。

4. 公式クライアントライブラリのインストールと初期化コード

以下では Python・Node.js(サーバー)・ブラウザ JavaScript の最新パッケージ取得方法と、基本的な認証フローを示します。全言語共通で 環境変数または Secret Manager を利用し、シークレットがコードに残らないようにしてください。

4‑1. Python 用セットアップ

4‑2. Node.js 用セットアップ(最新版 googleapis

4‑3. ブラウザ JavaScript 用セットアップ

ベストプラクティス:全言語共通で「シークレットは環境変数・Secret Manager に格納し、コードにハードコーディングしない」ことを徹底してください。


5. 認証フロー実装例とトークン管理

ここでは 認可コード取得 → アクセストークン交換 → リフレッシュトークン永続化 の一連の流れを、Python(Flask)と Node.js(Express)のサンプルで示します。

5‑1. Python(Flask)実装例

トークン自動リフレッシュ(Python)

5‑2. Node.js(Express)実装例

トークン自動リフレッシュ(Node.js)

重要access_type=offlineprompt=consent を忘れるとリフレッシュトークンが取得できません。必ず URL パラメータに含めてください。


6. API 呼び出し例・エラーハンドリング・リトライ戦略

実務で頻繁に使う カレンダー一覧取得イベント作成 のコード例と、指数バックオフ+ジッター によるリトライロジックを示します。

6‑1. カレンダー一覧取得(Python)

6‑2. イベント作成(Node.js)

6‑3. 再試行デコレータ(Python)

ポイント:5xx 系エラーや 429(レートリミット)の場合にだけリトライし、その他は即時例外送出します。

6‑4. 再試行ロジック(Node.js)

axios-retry を利用した実装例です。Google API の直接呼び出しでも同様のパターンを組み込めます。


7. クォータ・課金モデルの確認と過剰利用防止

7‑1. クォータ確認方法

コンソールの 「API とサービス」 → 「ダッシュボード」「使用量」タブ で、日次・分単位のリクエスト数が可視化されます。
- モニタリング:Stackdriver Monitoring(現在は Cloud Monitoring)で 「カレンダー API の呼び出し回数」 を指標にアラートポリシーを設定し、閾値超過時に Slack/メール通知します。

7‑2. 課金モデルの概要

サービス 無料枠 有償プラン
Google Calendar API(標準) 無制限(1 日 1,000,000 リクエスト程度は実質無料) なし
Enterprise カレンダー拡張機能 該当なし 従量課金(公式料金表参照)

公式情報
- 無料枠・クレジット: https://cloud.google.com/free
- Enterprise 課金: https://cloud.google.com/calendar/pricing

7‑3. 過剰利用防止策

  1. サーバー側レートリミッターexpress-rate-limit1 秒あたり 5 リクエスト以下 に制限。
  2. 指数バックオフ実装(前節参照)により突発的スパイクを緩和。
  3. 予算アラート:Billing → Budgets で 「残高 < $20」「利用額 > 前月比 150%」 の条件を設定し、異常時に自動通知。

8. ローカルテストと本番デプロイの差分管理

項目 ローカル開発環境 本番環境
認証情報ファイル client_secret.json(ローカルに配置) Secret Manager から取得し、GOOGLE_OAUTH_CLIENT_JSON 環境変数でパス指定
リダイレクト URI http://localhost:8080/oauth2callback https://app.example.com/oauth2callback
クォータモニタリング 手動でコンソール確認 Cloud Monitoring の自動アラート設定
ログ出力形式 コンソール (console.log) Stackdriver Logging(JSON)
CI/CD パイプライン変数 DEV_CLIENT_ID / DEV_CLIENT_SECRET PROD_CLIENT_ID / PROD_CLIENT_SECRET を Secret Manager で注入

ベストプラクティス:CI/CD のビルドステップでは、環境ごとのクライアント ID/シークレットを自動切り替える スクリプト(例: GitHub Actions の env: セクション)を組み込み、手作業での書き換えリスクを排除します。


9. メンテナンスチェックリスト

項目 実施頻度 確認内容
コンソール UI 手順の整合性 半年ごと メニュー名・フローが本文と一致しているか
Node.js トークンリフレッシュ実装 4か月ごと googleapis のバージョンチェンジで非推奨 API が無いか
無料トライアル・課金情報の公式リンク 四半期ごと Google Cloud の料金ページが更新されていないか
リダイレクト URI 設定 デプロイ時毎 環境別テーブルと実際の設定が一致しているか
スコープ最小化レビュー 6か月ごと 実装機能に対し過剰なスコープが付与されていないか
アラート・予算設定 月次 予算超過やクォータ残量アラートが正しく作動するか

10. まとめ

  • プロジェクト作成 → 課金有効化 → API 有効化 → OAuth クライアント取得 の流れを順守すれば、Google Calendar API がすぐに利用可能です。
  • Node.js では oauth2Client.refreshAccessToken() を廃止し、getAccessToken() に置き換えることで安全かつ最新のトークンリフレッシュが実現できます。
  • 公式ドキュメントへのリンク を必ず参照し、無料クレジットや Enterprise 課金情報の正確性を担保してください。
  • 環境別設定表とリダイレクト URI の整合性定期的な UI 手順更新スコープ最小化レビュー を運用チェックリストに組み込むことで、長期にわたる安定運用が可能です。

次のステップ:本稿を参考にまずはローカル環境で認証フローとカレンダー取得を試し、その後 CI/CD パイプラインへ統合して本番デプロイを行いましょう。


本稿は 2026 年 7 月時点の情報を元に作成しています。Google のサービス仕様変更や UI 改版があった場合は、公式ドキュメントと併せて随時更新してください。

スポンサードリンク

お得なお知らせ

スポンサードリンク
タイプ別にすぐ選べる

2026年、ビジネス競争力を上げる2ルート

"組織を動かす"立場と"個人スキルを伸ばす"立場では必要な打ち手が違います。自分の役割で選んでください。

▷ 部門・全社でAIリテラシー研修を入れたい管理職・人事・経営層

【Kindle本】イノベーションOps 組織を動かすDX&AI導入プロセスのすべて

▷ 個人のビジネススキル・思考法を"本から"底上げしたい実務担当者

Kindle Unlimited 30日無料|ビジネス書読み放題▶

※積極的な自己学習が成長への近道です

▶ 耳で学ぶビジネススキルなら オーディオブックAudible 。日経BP・東洋経済系の話題作も対象です。


-GoogleCalendar