Developer Knowledge API を使用すると、Google の公開デベロッパー ドキュメントにプログラムでアクセスして、このナレッジベースを独自のアプリケーションやワークフローに統合できます。
概要
Developer Knowledge API は、Google のデベロッパー向けドキュメントに機械で読み取り可能形式でアクセスするための正規のソースとなるように設計されています。ドキュメントの検索と取得、クエリへの回答を行うための関数が用意されています。
SearchDocumentChunks: クエリに基づいて関連するページ URI とコンテンツ スニペットを検索します。GetDocumentまたはBatchGetDocuments: 検索結果の完全なコンテンツを取得します。AnswerQuery: ドキュメント コーパスから抽出されたクエリに対する回答を生成します。
Developer Knowledge API は、ドキュメント ページを構造化されていない Markdown コンテンツとして検索して取得することをサポートしています。検索可能なコンテンツのコーパスは、 コーパスのリファレンスに記載されています。
Developer Knowledge の使用方法
ワークフローに応じて、次のサーフェスから Developer Knowledge にアクセスできます。
- REST API および RPC API: HTTP エンドポイントまたは gRPC エンドポイントを 直接呼び出します。メソッドの仕様については、REST リファレンスと RPC リファレンスをご覧ください。
- クライアント ライブラリ: C#、Go、Java、Node.js、TypeScript、PHP、Python、Ruby 用の公式クライアント ライブラリを使用して、Developer Knowledge API をアプリケーションに統合します。
- Google Cloud CLI (
gcloud): ターミナルからgcloud developer-knowledgeコマンドを実行して、 ドキュメント チャンクの検索、Markdown コンテンツの取得、回答の生成を行います。 - Developer Knowledge MCP サーバー: Model Context Protocol(MCP)ツール(
search_documents、get_documents、answer_query)を使用して、AI コーディング支援アシスタントまたはエージェントを Google のドキュメントに接続します。 MCP リファレンスをご覧ください。
API と MCP サーバーのどちらを選択するか
Developer Knowledge API と Developer Knowledge MCP サーバーは、統合のニーズに応じて設計されています。
- 次のような場合は、Developer Knowledge API、クライアント ライブラリ、または gcloud CLI を使用します 。
- プロジェクトで AI エージェントを使用していない。
- エージェントのカスタムツールまたはツールセットを定義する場合。
- モデルに渡す前に結果を処理または結合する場合(完全なコンテンツを取得する前にドキュメントのバイト長を確認するなど)。
- 検索結果をフィルタリングする
(
data_sourceやupdate_timeなど)か、 フィールド マスクを適用する必要がある場合。
- 次のような場合は、Developer Knowledge MCP サーバーとエージェント スキルを使用します 。
- カスタムツールの定義と説明を記述せずに、AI コーディング支援アシスタントまたはエージェントを接続する場合。
- Developer Knowledge MCP サーバーに新機能が追加されたときに自動更新する場合。
- 検索結果にカスタム メタデータ フィルタリングが必要ない場合。
API を有効にする
Developer Knowledge API を使用するには、まず Google Cloud プロジェクトで有効にする必要があります。
- Google API ライブラリで Developer Knowledge API ページ を開きます。
- API を使用するプロジェクトが正しく選択されていることを確認します。
- [有効にする] をクリックします。API を有効または使用するために、特定の IAM ロールは必要ありません。
認証
次のいずれかの方法を使用して、Developer Knowledge API へのリクエストを認証できます。
- API キー:
keyクエリ パラメータまたはX-Goog-Api-Keyヘッダーを使用して、直接 REST リクエストまたは Developer Knowledge MCP サーバーを認証します。 - アプリケーションのデフォルト認証情報(ADC)、OAuth 2.0、またはサービス アカウント: 公式 クライアント ライブラリまたは本番環境 ワークフローを使用する場合にリクエストを認証します。認証情報の設定について詳しくは、 アプリケーションのデフォルト認証情報のドキュメントをご覧ください。
- ユーザー認証情報(gcloud CLI): Google Cloud アカウントにログインして
、CLI リクエストを認証します
gcloud auth login。設定手順については、 gcloud CLI クイックスタートをご覧ください。
OAuth スコープ
OAuth 2.0 またはサービス アカウントで認証する場合、Developer Knowledge API と Developer Knowledge MCP サーバーは次の OAuth スコープを受け入れます。
https://www.googleapis.com/auth/cloud-platform: アプリケーションのデフォルト認証情報(ADC)、gcloud CLI、公式の Google Cloud クライアント ライブラリで使用されるデフォルト スコープ。https://www.googleapis.com/auth/devprofiles.full_control: ユーザー OAuth 2.0 同意フローと MCP サーバー統合に使用されるスコープ。https://www.googleapis.com/auth/developerprofiles.readonly: エンドユーザーの OAuth 同意画面を必要としないサービス アカウントと認証情報でサポートされる読み取り専用スコープ。
署名なしトークンの認可
サービス アカウントまたは OAuth 2.0 アクセス トークンを使用して直接 REST リクエストを認証するには、Authorization: Bearer ヘッダーにトークンを渡し、X-Goog-User-Project で課金プロジェクトを指定します。
export ACCESS_TOKEN=$(gcloud auth print-access-token)
curl -X POST "https://developerknowledge.googleapis.com/v1:answerQuery" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
-d '{"query": "How do I create a BigQuery dataset?"}'
PROJECT_ID は、実際の Google Cloud プロジェクト ID に置き換えます。
Python、Node.js、Go、Java アプリケーションの場合、公式クライアント ライブラリはアプリケーションのデフォルト認証情報(ADC)とトークンの更新を自動的に処理します。 例については、Developer Knowledge API でクライアント ライブラリを使用する をご覧ください。
含まれるドキュメント
API で検索されるドキュメントについては、コーパスのリファレンスで 情報をご覧ください。
Developer Knowledge API は、最新の Google デベロッパー ドキュメントへのアクセスを提供することを目的としています。新しいドキュメントまたは更新されたドキュメントが 2 営業日以内に利用できるように、公開から 48 時間以内にコンテンツのインデックスを再作成することを目指しています。既知の制限事項
- Markdown の品質: Markdown はソース HTML から生成されます。不一致や形式の問題が発生する可能性があります。
- コンテンツ スコープ: コーパスのリファレンスに記載されている公開ページのみが含まれます。 GitHub、OSS サイト、ブログ、YouTube などの他のソースのコンテンツは含まれません。