ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
GCP で API を有効化する基本フロー
Google Cloud の API(Maps / Cloud Vision / Cloud Storage / BigQuery / Drive 等)は、プロジェクトごとに明示的に有効化しないと呼び出せません。403 Forbidden や SERVICE_DISABLED エラーが出る原因の多くがこれです。
- Google Cloud プロジェクトを作成 / 選択
- 課金アカウントをプロジェクトにリンク
- API ライブラリから対象 API を有効化
- 認証情報(API キー / OAuth / サービスアカウント)を作成
- クォータ / 予算アラートを設定
手順1: Cloud Console から API を有効化
- Google Cloud Console にログイン
- 画面左上のプロジェクトセレクタで対象プロジェクトを選択
- 左ナビ → APIs & Services → ライブラリ (Library)
- 使いたい API を検索(例: Maps JavaScript API, Cloud Vision API)
- 有効にする (ENABLE) をクリック
- 有効化完了。同じ画面から「認証情報を作成」へ進める
手順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 は無料枠の中でも課金アカウントの紐付けが必須です(無料枠を超えた場合の支払い先として):
- Cloud Console → お支払い (Billing)
- 請求先アカウントの作成(クレジットカード登録)
- プロジェクトに請求先アカウントをリンク
- 請求 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 Identity | GKE / GitHub Actions から鍵なしで認証 | 推奨ベストプラクティス |
API キー作成
- APIs & Services → 認証情報 → 認証情報を作成 → API キー
- 生成後すぐ 制限を設定:
- アプリケーション制限: 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) |
|---|---|---|
| Maps | Maps JavaScript API | maps-backend.googleapis.com |
| Maps | Geocoding API | geocoding-backend.googleapis.com |
| Storage | Cloud Storage | storage.googleapis.com |
| Storage | BigQuery | bigquery.googleapis.com |
| AI | Cloud Vision | vision.googleapis.com |
| AI | Cloud Translation | translate.googleapis.com |
| AI | Vertex AI | aiplatform.googleapis.com |
| Workspace | Google Drive API | drive.googleapis.com |
| Workspace | Gmail API | gmail.googleapis.com |
| Compute | Cloud Functions | cloudfunctions.googleapis.com |
| Compute | Cloud Run | run.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_DISABLED | API 未有効化 | Console / gcloud で有効化 |
BILLING_DISABLED | 課金未連携 | 請求先アカウントをリンク |
API key not valid | API キー無効 / 制限違反 | キー再生成、リファラ制限確認 |
RESOURCE_EXHAUSTED / 429 | クォータ超過 | Quotas で増加リクエスト |
PERMISSION_DENIED | IAM ロール不足 | 該当ロールを付与 |
UNAUTHENTICATED | 認証情報未設定 | GOOGLE_APPLICATION_CREDENTIALS 確認 |
FAQ
Q: 無料枠だけで使えるか
A: 多くの API は無料枠あり(例: Cloud Vision は月 1000 ユニット無料)。ただし課金アカウント連携は必須。無料枠超過で意図せぬ課金を避けるため、予算アラート設定を強く推奨。
Q: 複数プロジェクトで同じ API を使う
A: プロジェクトごとに有効化が必要。Terraform で IaC 化すると差分管理が楽です。
Q: API キーを GitHub に公開してしまった
A: 即座にキーを無効化+再発行。GitHub Secret Scanning が自動検知して通知することもありますが、漏洩から課金まで数時間です。請求アラートを必ず設定し、被害が出ていれば Google に減免相談。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- APIキー取得方法
- APIの有効化
- チャンネル情報の取得
- 動画やチャンネルの検索
- エラー一覧
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?