◀ 2.

Google Cloud で API を有効化する手順(Console / gcloud / 認証情報・課金・クォータ)

▶
この記事の要点
  • Google Cloud Platform で API を使う前に 「API ライブラリで該当 API を有効化」 + 「課金有効化」 + 「認証情報の作成」 の 3 ステップが必要
  • 手順: Google Cloud Console → APIs & Services → Library → API 検索 → ENABLE
  • CLI なら gcloud services enable maps-backend.googleapis.com。一覧は gcloud services list --available
  • 認証情報は用途で使い分け: API キー(クライアント側、ドメイン制限必須) / OAuth クライアント ID(ユーザ認可) / サービスアカウント(サーバ間)
  • クォータと課金: 無料枠を超えると課金。Cloud Console > APIs & Services > Quotas で上限確認・予算アラート設定で事故防止

GCP で API を有効化する基本フロー

Google Cloud の API(Maps / Cloud Vision / Cloud Storage / BigQuery / Drive 等)は、プロジェクトごとに明示的に有効化しないと呼び出せません。403 Forbidden や SERVICE_DISABLED エラーが出る原因の多くがこれです。

  1. Google Cloud プロジェクトを作成 / 選択
  2. 課金アカウントをプロジェクトにリンク
  3. API ライブラリから対象 API を有効化
  4. 認証情報(API キー / OAuth / サービスアカウント)を作成
  5. クォータ / 予算アラートを設定

手順1: Cloud Console から API を有効化

  1. Google Cloud Console にログイン
  2. 画面左上のプロジェクトセレクタで対象プロジェクトを選択
  3. 左ナビ → APIs & Services → ライブラリ (Library)
  4. 使いたい API を検索(例: Maps JavaScript API, Cloud Vision API)
  5. 有効にする (ENABLE) をクリック
  6. 有効化完了。同じ画面から「認証情報を作成」へ進める

手順2: gcloud CLI で有効化(推奨・自動化向き)

# gcloud SDK 初期化
gcloud auth login
gcloud config set project YOUR_PROJECT_ID

# 利用可能な API の一覧(フィルタ付き)
gcloud services list --available --filter="name:maps"

# 有効化
gcloud services enable maps-backend.googleapis.com
gcloud services enable storage.googleapis.com
gcloud services enable vision.googleapis.com

# 複数まとめて
gcloud services enable \
  bigquery.googleapis.com \
  pubsub.googleapis.com \
  cloudfunctions.googleapis.com

# 有効化済みの確認
gcloud services list --enabled

# 無効化
gcloud services disable maps-backend.googleapis.com --force

手順3: 課金アカウントを有効化

多くの API は無料枠の中でも課金アカウントの紐付けが必須です(無料枠を超えた場合の支払い先として):

  1. Cloud Console → お支払い (Billing)
  2. 請求先アカウントの作成(クレジットカード登録)
  3. プロジェクトに請求先アカウントをリンク
  4. 請求 API を有効化(API のメタ操作のため)

手順4: 認証情報の作成

種類用途セキュリティ注意
API キーMaps JS API、YouTube Data API 等 公開可能な API必ずHTTP リファラ / IP / アプリ制限を付ける
OAuth 2.0 クライアント IDユーザー本人の Google アカウントを操作(Drive / Calendar)承認済みリダイレクト URI を限定
サービスアカウントサーバから GCP リソース操作(BigQuery / GCS / Vision)JSON キーをリポジトリに入れない
Workload IdentityGKE / GitHub Actions から鍵なしで認証推奨ベストプラクティス

API キー作成

  1. APIs & Services → 認証情報 → 認証情報を作成 → API キー
  2. 生成後すぐ 制限を設定:
    • アプリケーション制限: HTTP リファラ / IP アドレス / Android アプリ / iOS アプリ
    • API 制限: このキーで呼べる API を限定

サービスアカウント作成

# サービスアカウント作成
gcloud iam service-accounts create my-service \
  --display-name="My Service Account"

# ロール付与
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
  --member="serviceAccount:my-service@YOUR_PROJECT_ID.iam.gserviceaccount.com" \
  --role="roles/storage.objectViewer"

# JSON キー発行
gcloud iam service-accounts keys create ./key.json \
  --iam-account=my-service@YOUR_PROJECT_ID.iam.gserviceaccount.com

# 環境変数で利用
export GOOGLE_APPLICATION_CREDENTIALS=./key.json

API の呼び出し例(Python / Node.js)

# pip install google-cloud-storage
from google.cloud import storage

# GOOGLE_APPLICATION_CREDENTIALS が設定されていれば自動認証
client = storage.Client()

# バケット一覧
for bucket in client.list_buckets():
    print(bucket.name)
// npm install @google-cloud/storage
const { Storage } = require('@google-cloud/storage');
const storage = new Storage({
  keyFilename: './key.json',  // または環境変数で
  projectId: 'YOUR_PROJECT_ID',
});

const [buckets] = await storage.getBuckets();
console.log(buckets.map(b => b.name));

主要 API 一覧と API 名

カテゴリサービスAPI 名(gcloud)
MapsMaps JavaScript APImaps-backend.googleapis.com
MapsGeocoding APIgeocoding-backend.googleapis.com
StorageCloud Storagestorage.googleapis.com
StorageBigQuerybigquery.googleapis.com
AICloud Visionvision.googleapis.com
AICloud Translationtranslate.googleapis.com
AIVertex AIaiplatform.googleapis.com
WorkspaceGoogle Drive APIdrive.googleapis.com
WorkspaceGmail APIgmail.googleapis.com
ComputeCloud Run functions(旧 Cloud Functions)cloudfunctions.googleapis.com
ComputeCloud Runrun.googleapis.com

クォータと予算アラート

API ごとに「1 分あたりリクエスト数」「1 日あたり数」などの上限(クォータ)があります。突発的なバースト時に超過すると 429 Too Many Requests が返ります:

# クォータの確認
# Console: APIs & Services > Quotas で各 API のリミット表示

# 予算アラート(必須!)
# Console: お支払い > 予算とアラート > 予算を作成
# - 月額の閾値(例: $50)
# - 50%/90%/100% で通知メール
# これがないと、漏洩した API キーで青天井に課金される事故が起きる

よくあるエラー

エラー原因対処
API_NOT_ENABLED / 403 SERVICE_DISABLEDAPI 未有効化Console / gcloud で有効化
BILLING_DISABLED課金未連携請求先アカウントをリンク
API key not validAPI キー無効 / 制限違反キー再生成、リファラ制限確認
RESOURCE_EXHAUSTED / 429クォータ超過Quotas で増加リクエスト
PERMISSION_DENIEDIAM ロール不足該当ロールを付与
UNAUTHENTICATED認証情報未設定GOOGLE_APPLICATION_CREDENTIALS 確認

FAQ

Q: 無料枠だけで使えるか
A: 多くの API は無料枠あり(例: Cloud Vision は月 1000 ユニット無料)。ただし課金アカウント連携は必須。無料枠超過で意図せぬ課金を避けるため、予算アラート設定を強く推奨。

Q: 複数プロジェクトで同じ API を使う
A: プロジェクトごとに有効化が必要。Terraform で IaC 化すると差分管理が楽です。

Q: API キーを GitHub に公開してしまった
A: 即座にキーを無効化+再発行。GitHub Secret Scanning が自動検知して通知することもありますが、漏洩から課金まで数時間です。請求アラートを必ず設定し、被害が出ていれば Google に減免相談。

📸 参考画像

※ 旧バージョンから引き継いだ参考画像です。手順・図解の補助としてご覧ください。

参考画像

参考画像

Post Share
子ページ

子ページはありません

同階層のページ
  1. APIキー取得方法
  2. APIの有効化
  3. チャンネル情報の取得
  4. 動画やチャンネルの検索
  5. エラー一覧