Bu belgede, Custom Search JSON API'nin nasıl kullanılacağı açıklanmaktadır.
İstekte bulunun
Custom Search JSON API'deki REST veya Representational State Transfer (Temsili Durum Aktarımı), normal RESTful API'lerden biraz farklıdır. API, kaynaklara erişim sağlamak yerine bir hizmete erişim sağlar. Sonuç olarak API, hizmet uç noktası olarak işlev gören tek bir URI sağlar.
URI'sine HTTP isteği göndererek belirli bir aramanın sonuçlarını alabilirsiniz.GET Arama isteğinin ayrıntılarını sorgu parametreleri olarak iletirsiniz. Custom Search JSON API URI'sinin biçimi şudur:
https://www.googleapis.com/customsearch/v1?[parameters]
Her arama isteği için üç sorgu [parameters] gereklidir:
API anahtarı: Uygulamanızı tanımlamak için
keysorgu parametresini kullanın.- Programlanabilir Arama Motoru Kimliği: Bu aramayı gerçekleştirmek için kullanmak istediğiniz Programlanabilir Arama Motoru'nu belirtmek üzere
cxöğesini kullanın. Arama motoru Denetleme Masası ile oluşturulmalıdır. Not: Arama Motoru Kimliği (cx), farklı bir biçimde olabilir (ör. 8ac1ab64606d234f1).
- Programlanabilir Arama Motoru Kimliği: Bu aramayı gerçekleştirmek için kullanmak istediğiniz Programlanabilir Arama Motoru'nu belirtmek üzere
Arama sorgusu: Arama ifadenizi belirtmek için
qsorgu parametresini kullanın.
Diğer tüm sorgu parametreleri isteğe bağlıdır.
Aşağıda, test amaçlı bir Programlanabilir Arama Motoru'nda dersler için arama yapan bir istek örneği verilmiştir:
GET https://www.googleapis.com/customsearch/v1?key=INSERT_YOUR_API_KEY&cx=017576662512468239146:omuauf_lfve&q=lecturesSorgu parametreleri
İsteğinize iletebileceğiniz iki tür parametre vardır:
- API'ye özgü parametreler: Arama ifadesi, sonuç sayısı, dil vb. gibi aramanızın özelliklerini tanımlar.
- Standart sorgu parametreleri: İsteğinizin teknik yönlerini (ör. API anahtarı) tanımlar.
Tüm parametre değerlerinin URL olarak kodlanması gerekir.
API'ye özel sorgu parametreleri
Özellikle Custom Search JSON API için geçerli olan ve arama isteğinizi tanımlayan istek parametreleri referans bölümünde özetlenmiştir.
Standart sorgu parametreleri
Tüm Custom Search JSON API işlemleri için geçerli olan sorgu parametreleri Sistem Parametreleri bölümünde açıklanmıştır.
Yanıt verileri
İstek başarılı olursa sunucu, 200 OK HTTP durum kodu ve JSON biçimindeki yanıt verileriyle yanıt verir. Yanıt veri yapısını referans bölümünde bulabilirsiniz.
Yanıt verileri, üç tür özellik içeren bir JSON nesnesi şeklindedir:
- İstenen aramayı (ve muhtemelen ilgili arama isteklerini) açıklayan meta veriler
- Programlanabilir Arama Motoru'nu açıklayan meta veriler
- Arama sonuçları
Her özelliğin ayrıntılı açıklaması için referans bölümüne bakın.
Arama isteği meta verileri
Arama meta verileri şunları içerir:
urlmülkünde bulunur. Bu mülk, bu istekte döndürülen sonuçlar için kullanılan OpenSearch şablonu hakkında bilgi içerir.- Olası aramaların özelliklerini açıklayan bir nesne dizisi olan
queriesmülkü. Dizideki her nesnenin adı, bir OpenSearch sorgusu rolünün adı veya bu API tarafından tanımlanan iki özel rolden biri (previousPagevenextPage) olur. Olası sorgu rolü nesneleri şunlardır:request: Geçerli sonuç kümesi için sorguyu açıklayan meta veriler.- Bu rol yanıtta her zaman mevcuttur.
- Her zaman yalnızca bir öğe içeren bir dizidir.
nextPage: Sonraki sonuç sayfasında kullanılacak sorguyu açıklayan meta veri.- Mevcut sonuçlar son sayfaysa bu rol mevcut değildir. Not: Bu API yalnızca ilk 100 sonucu döndürür.
- Mevcut olduğunda her zaman yalnızca bir öğe içeren bir dizidir.
previousPage: Sonuçların önceki sayfası için kullanılacak sorguyu açıklayan meta veriler.- Geçerli sonuçlar ilk sayfaysa mevcut değildir.
- Mevcut olduğunda her zaman yalnızca bir öğe içeren bir dizidir.
Arama motoru meta verileri
context mülkünde, arama sorgusunu gerçekleştiren arama motorunu açıklayan meta veriler bulunur. Arama motorunun adını ve aramayı hassaslaştırmak için sağladığı tüm yön objelerini içerir.
Arama sonuçları
items dizisi, gerçek arama sonuçlarını içerir. Arama sonuçlarında URL, başlık ve sonucu açıklayan metin snippet'leri yer alır. Ayrıca, geçerliyse zengin snippet bilgileri de içerebilirler.
Arama sonuçlarında promotions mülkü varsa bu mülkte bir dizi promosyon bulunur.
JavaScript'ten REST
callback sorgu parametresini ve bir geri çağırma işlevini kullanarak JavaScript'den REST kullanarak Custom Search JSON API'yi çağırabilirsiniz. Bu sayede, sunucu tarafı kod yazmadan Programlanabilir Arama Motoru verilerini gösteren zengin uygulamalar yazabilirsiniz.
Aşağıdaki örnekte, ders sorgusu için arama sonuçlarının ilk sayfasını görüntülemek amacıyla bu yaklaşım kullanılır:
<html>
<head>
<title>Custom Search JSON API Example</title>
</head>
<body>
<div id="content"></div>
<p id="demo"></p>
<script>
function hndlr(response) {
if (response.items == null) {
document.getElementById("demo").innerHTML +=`<h3> No Results Found </h3>`;
} else {
for (var i = 1; i < response.items.length; i++) {
var item = response.items[i];
// Make sure HTML in item.htmlTitle is escaped.
document.getElementById("content").append(
document.createElement("br"),
document.createTextNode(item.htmlTitle)
);
}
}
}
</script>
<script src="https://www.googleapis.com/customsearch/v1?key=YOUR-KEY&cx=017576662512468239146:omuauf_lfve&q=lecture&callback=hndlr">
</script>
</body>
</html>