Developer Knowledge API, Google'ın herkese açık geliştirici belgelerine programatik erişim sağlayarak bu bilgi bankasını kendi uygulamalarınıza ve iş akışlarınıza entegre etmenize olanak tanır.
Genel Bakış
Developer Knowledge API, Google'ın geliştirici belgelerine makine tarafından okunabilir erişim için standart kaynak olarak tasarlanmıştır. Belgeleri arama ve alma, sorguları yanıtlama gibi işlevler sunar:
- Sorguya göre alakalı sayfa URI'lerini ve içerik snippet'lerini bulmak için
SearchDocumentChunks. - Arama sonuçlarının tüm içeriğini getirmek için
GetDocumentveyaBatchGetDocumentstuşlarına basın. AnswerQuery, doküman derlemesinden alınan sorgulara yanıt oluşturmak için kullanılır.
Developer Knowledge API, doküman sayfalarının yapılandırılmamış Markdown içeriği olarak aranmasını ve alınmasını destekler. Aranabilir içerik grubu, Corpus referansı bölümünde listelenir.
Geliştirici Bilgisi'ni kullanma yolları
İş akışınıza bağlı olarak aşağıdaki platformlardan Geliştirici Bilgi Bankası'na erişebilirsiniz:
- REST API ve RPC API: HTTP veya gRPC uç noktalarını doğrudan çağırın. Yöntem spesifikasyonları için REST referansı ve RPC referansı'na bakın.
- İstemci kitaplıkları: C#, Go, Java, Node.js ve TypeScript, PHP, Python ve Ruby için resmi istemci kitaplıklarını kullanarak Developer Knowledge API'yi uygulamalarınıza entegre edin.
- Google Cloud CLI (
gcloud): Doküman parçalarını aramak, Markdown içeriğini getirmek ve yanıtlar oluşturmak için terminalinizdengcloud developer-knowledgekomutlarını çalıştırın. - Geliştirici Bilgisi MCP sunucusu: Model Bağlam Protokolü (MCP) araçlarını (
search_documents,get_documentsveanswer_query) kullanarak yapay zeka kod yazma desteğinizi veya temsilcinizi Google'ın belgelerine bağlayın. MCP referansına bakın.
API ile MCP sunucusu arasında seçim yapma
Developer Knowledge API ve Developer Knowledge MCP sunucusu, farklı entegrasyon ihtiyaçları için tasarlanmıştır:
- Şu durumlarda Developer Knowledge API'yi, istemci kitaplıklarını veya gcloud CLI'yı kullanın:
- Projenizde yapay zeka aracısı kullanılmıyor.
- Temsilciniz için özel araçlar veya araç setleri tanımlamak istiyorsanız
- Sonuçları bir modele aktarmadan önce işlemek veya birleştirmek istiyorsanız (örneğin, tam içeriği getirmeden önce doküman bayt uzunluğunu kontrol etmek).
- Arama sonuçlarını filtrelemeniz (ör.
data_sourceveyaupdate_timeile) ya da alan maskeleri uygulamanız gerekir.
- Şu durumlarda Geliştirici Bilgisi MCP sunucusunu ve temsilci becerisini kullanın:
- Özel araç tanımları ve açıklamaları yazmadan bir yapay zeka kod yazma desteği veya aracısı bağlamak istiyorsunuz.
- Geliştirici Bilgisi MCP sunucusu yeni özellikler ekledikçe otomatik güncellemeler almak istiyorsunuz.
- Arama sonuçlarında özel meta veri filtrelemeye ihtiyacınız yoksa.
API'yi etkinleştirme
Developer Knowledge API'yi kullanmak için öncelikle Google Cloud projenizde etkinleştirmeniz gerekir.
- Google API'leri kitaplığında Developer Knowledge API sayfasını açın.
- API'yi kullanmayı planladığınız projeyi doğru seçtiğinizden emin olun.
- Etkinleştir'i tıklayın. API'yi etkinleştirmek veya kullanmak için belirli IAM rolleri gerekmez.
Kimlik doğrulama
Developer Knowledge API'ye gönderilen isteklerin kimliğini doğrulamak için aşağıdaki yöntemlerden birini kullanabilirsiniz:
- API anahtarı:
keysorgu parametresini veyaX-Goog-Api-Keybaşlığını kullanarak doğrudan REST isteklerinin ya da Developer Knowledge MCP sunucusunun kimliğini doğrulayın. - Uygulama Varsayılan Kimlik Bilgileri (ADC), OAuth 2.0 veya hizmet hesapları: Resmi istemci kitaplıklarını veya üretim iş akışlarını kullanırken isteklerin kimliğini doğrular. Kimlik bilgilerini ayarlama hakkında daha fazla bilgi edinmek için Uygulama Varsayılan Kimlik Bilgileri dokümanlarına bakın.
- Kullanıcı kimlik bilgileri (gcloud CLI):
gcloud auth loginile Google Cloud hesabınızda oturum açarak KSA isteklerinin kimliğini doğrulayın. Kurulum talimatları için gcloud CLI hızlı başlangıç kılavuzuna bakın.
OAuth kapsamları
OAuth 2.0 veya hizmet hesaplarıyla kimlik doğrulama yapılırken Developer Knowledge API ve Developer Knowledge MCP sunucusu aşağıdaki OAuth kapsamlarını kabul eder:
https://www.googleapis.com/auth/cloud-platform: Uygulama Varsayılan Kimlik Bilgileri (ADC), gcloud CLI ve resmi Google Cloud istemci kitaplıkları tarafından kullanılan varsayılan kapsam.https://www.googleapis.com/auth/devprofiles.full_control: Kullanıcı OAuth 2.0 izin akışları ve MCP sunucusu entegrasyonları için kullanılan kapsam.https://www.googleapis.com/auth/developerprofiles.readonly: read-only scope, son kullanıcı OAuth kullanıcı rızası ekranı gerektirmeyen hizmet hesapları ve kimlik bilgileri için desteklenir.
Hamiline ait jeton yetkilendirmesi
Doğrudan REST isteklerinin kimliğini bir hizmet hesabı veya OAuth 2.0 erişim jetonu ile doğrulamak için jetonu Authorization: Bearer başlığında iletin ve X-Goog-User-Project içinde faturalandırma projenizi belirtin:
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 yerine Google Cloud proje kimliğinizi yazın.
Python, Node.js, Go ve Java uygulamalarında, resmi istemci kitaplıkları, uygulama varsayılan kimlik bilgilerini (ADC) ve jeton yenilemelerini otomatik olarak işler. Örnekler için Developer Knowledge API ile istemci kitaplıklarını kullanma başlıklı makaleyi inceleyin.
Dahil olan belgeler
API'nin hangi belgelerde arama yaptığı hakkında bilgi için Corpus referansı'na bakın.
Developer Knowledge API, en güncel Google geliştirici belgelerine erişim sağlamayı amaçlar. Amacımız, yayınlandıktan sonraki 48 saat içinde içeriği yeniden dizine ekleyerek yeni veya güncellenmiş belgelerin 2 iş günü içinde kullanılabilir olmasını sağlamaktır.Bilinen sınırlamalar
- Markdown kalitesi: Markdown, kaynak HTML'den oluşturulur. Bazı tutarsızlıklar veya biçimlendirme sorunları olabilir.
- İçerik kapsamı: Yalnızca Corpus referansındaki herkese açık sayfalar dahil edilir. GitHub, OSS siteleri, bloglar veya YouTube gibi diğer kaynaklardan alınan içerikler dahil edilmez.