借助 Developer Knowledge API,您可以以编程方式访问 Google 的公开开发者文档,从而将此知识库集成到您自己的应用和工作流中。
概览
Developer Knowledge API 旨在成为以机器可读格式访问 Google 开发者文档的规范来源。它提供以下功能来搜索和检索文档,以及回答查询:
SearchDocumentChunks:根据查询查找相关网页 URI 和内容片段。GetDocument或BatchGetDocuments:提取搜索结果的完整内容。AnswerQuery:根据文档语料库生成查询的答案。
Developer Knowledge API 支持以非结构化 Markdown 内容的形式搜索和检索文档页面。如需查看可搜索内容的语料库,请参阅 语料库参考文档。
使用开发者知识库的方式
您可以根据自己的工作流,通过以下界面访问开发者知识库:
- 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 内容和生成答案。 - 开发者知识 MCP 服务器:使用 Model Context Protocol (MCP) 工具
(
search_documents、get_documents和answer_query)将 AI 编码辅助或智能体 连接到 Google 的文档。请参阅 MCP 参考文档。
在 API 和 MCP 服务器之间进行选择
Developer Knowledge API 和 Developer Knowledge MCP 服务器旨在满足不同的集成需求:
- 在以下情况下,
- 在以下情况下,
-
使用 Developer Knowledge MCP 服务器和智能体技能:
- 您想连接 AI 编码辅助或智能体,而无需编写自定义工具定义和说明。
- 您希望在 Developer Knowledge MCP 服务器添加新功能时自动更新。
- 您不需要对搜索结果进行自定义元数据过滤。
启用 API
如需使用 Developer Knowledge API,您首先需要为您的 Google Cloud 云项目启用该 API。
- 在 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 账号登录
gcloud auth login来对 CLI 请求进行身份验证。如需了解设置 说明,请参阅 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 开发者文档的访问权限。我们的目标是在内容发布后 48 小时内重新为内容编制索引,以便在 2 个工作日内提供新的或更新的文档。已知限制
- Markdown 质量 :Markdown 是从源 HTML 生成的。可能存在一些差异或格式问题。
- 内容范围 :仅包含 语料库参考文档中的公开页面。 不包含来自其他来源(例如 GitHub、OSS 网站、博客或 YouTube)的内容。