Merhaba! Bugün Google Search API’yi nasıl kullanacağımızı konuşacağız. Eğer kendi uygulamanızda Google’ın gücünü kullanarak arama yapmak istiyorsanız, doğru yerdesiniz. Hep merak etmişimdir bu işin nasıl yapıldığını - şimdi beraber öğrenelim!
İlk Adım: Google Cloud Console
İlk iş Google Cloud Console’a girip işlerimizi halletmek. Biraz karışık görünebilir ama aslında çok basit:
-
Google Cloud Console sayfasına gidiyoruz. Eğer hiç proje yoksa yeni bir tane oluşturuyoruz, varsa da mevcut birini seçebiliriz.
-
Sol menüden API’ler kısmını bulup Custom Search API’yi etkinleştiriyoruz.
-
Kimlik bilgileri bölümünden API anahtarımızı alıyoruz. Bu anahtarı güvenli bir yerde saklayın - çünkü kodumuzda kullanacağız.
Arama Motoru Oluşturma
Şimdi eğlenceli kısım! Kendi arama motorumuzu yapacağız:
-
Programmable Search Engine sayfasına gidiyoruz.
-
Burada birkaç seçenek var:
- Sadece belirli sitelerde mi arama yapmak istiyorsunuz? O zaman o siteleri ekleyin.
- Tüm internet’te arama mı? “Tüm web’i ara” diyoruz o zaman.
- Dil seçimi yapıyoruz (Türkçe olabilir mesela).
- Arama motorumuza güzel bir isim veriyoruz.
-
Oluşturduktan sonra size bir cx kodu verecek. Bu kodu not alın - API isteklerinde bu lazım olacak!
Artık Aramaya Başlayalım!
Elinizdeki malzemeler: API anahtarı ✓, cx kodu ✓. Şimdi gerçek iş başlıyor!
Nasıl İstek Gönderiyoruz?
Temel format şu şekilde:
GET https://www.googleapis.com/customsearch/v1?key={API_KEY}&cx={CX_KEY}&q={QUERY}
JavaScript ile Yapalım
Ben JavaScript ile başlamayı seviyorum, çünkü hızlıca test edebiliriz:
const API_KEY = "api-key";
const SEARCH_ENGINE_ID = "cx-key";
const SEARCH_QUERY = "learn js";
async function search_google(query) {
const url = `https://www.googleapis.com/customsearch/v1?key=${API_KEY}&cx=${SEARCH_ENGINE_ID}&q=${encodeURIComponent(query)}`;
try {
const response = await fetch(url);
const data = await response.json();
if (data.items) {
console.log("Search Results:");
data.items.forEach((item, index) => {
console.log(`${index + 1}. ${item.title}`);
console.log(` Link: ${item.link}`);
console.log(` Summary: ${item.snippet}`);
console.log("---");
});
} else {
console.log("Nothing to see... 😔");
}
} catch (error) {
console.error("Error:", error);
}
}
search_google(SEARCH_QUERY);
Python Seviyorsanız
Python da harika bir seçenek:
import requests
API_KEY = 'api-key'
SEARCH_ENGINE_ID = 'cx-key'
SEARCH_QUERY = 'learn python'
def search_google(query):
url = "https://www.googleapis.com/customsearch/v1"
params = {
'key': API_KEY,
'cx': SEARCH_ENGINE_ID,
'q': query
}
try:
response = requests.get(url, params=params)
data = response.json()
if 'items' in data:
print("Search Results:")
for i, item in enumerate(data['items'], 1):
print(f"{i}. {item['title']}")
print(f" Link: {item['link']}")
print(f" Summary: {item['snippet']}")
print("---")
else:
print("Nothing too see... 😔")
except Exception as e:
print(f"Error: {e}")
search_google(SEARCH_QUERY)
Daha Detayına İnelim
Temel aramayı yaptık ama API’nin daha fazla özelliği var. Şunlara bakabilirsiniz:
- num: Kaç sonuç istiyorsunuz? (En fazla 10)
- start: Sayfalama için hangi sonuçtan başlasın?
- lr: Sadece Türkçe sonuçlar mı?
lang_tryazın - safe: Güvenli arama aktif mi?
- fileType: Sadece PDF mi yoksa Word dosyası mı arıyorsunuz?
Örnek Gelişmiş Arama
// Sadece Türkçe, güvenli arama aktif, 5 sonuç
const gelismisUrl = `https://www.googleapis.com/customsearch/v1?key=${API_KEY}&cx=${SEARCH_ENGINE_ID}&q=${query}&num=5&lr=lang_tr&safe=medium`;
Bilmeniz Gerekenler
Tabii ki her şeyin bir sınırı var:
- Ücretsiz: Günde 100 arama hakkınız var
- Fazlası: 100’den fazla arama için para ödeyeceksiniz
- Sonuç limiti: Bir seferde en fazla 10 sonuç alabilirsiniz
Bu limitler genellikle hobby projeler için yeterli oluyor. Eğer büyük bir uygulama yapıyorsanız, bütçenizi buna göre planlayın.
Son Sözler
İşte bu kadar! Google Search API’si gerçekten güçlü bir araç. Ben de ilk kullandığımda “vay be, Google’ın gücü elimin altında” demiştim.
Şimdi ne yapabilirsiniz? Kendi blog siteniz için arama özelliği ekleyebilir, araştırma projelerinizde kullanabilir, hatta mini bir arama motoru bile yapabilirsiniz.
Sadece API anahtarınızı kimseye vermeyin ve limitleri aklınızda tutun. Keyifli kodlamalar! 🚀