Merhaba, bu yazıda sizlere C# ile Google Custom Search API Kullanımı hakkında bilgi vereceğim. Bir önceki yazımızda C# ile Google Calendar API Etkinlik Listeleme hakkında bilgi verdim. Daha önce Google API’ ları ile ilgili bilgi vermiştim. Bugün tekrar Google API’leri ile devam ediyoruz.
C# ile Google Custom Search API Kullanımı için Gereksinimler
Geliştirmeye başlamadan önce şu gereksinimleri sağlıyor olmalısınız:
- Google Custom Search API uygulamasının aktif olduğu bir google hesabı
- API Key ve CX(Custom Search Engine ID)
- Newtonsoft.Json (Kurulumlarını anlatmıştım)
Bu gereksinimleri sağlıyorsanız. En azından böyle bir makaleye gelmiş iseniz bu gereksinimler sizde mevcuttur. Ben bu makalede basit anlamda bir arama yaptıracağım. Siz bunu geliştirebilirsiniz. Yavaş yavaş projemize geçebiliriz.
Using bölümüne aşağıdaki kodları ekliyoruz.
1 2 3 | using Newtonsoft.Json; using System.Net; using System.IO; |
Ben burada aranacak kelime, Api key ve cx ‘ i sabit olarak vereceğim. Siz bunları farklı yöntemlerde kullanabilirsiniz.
1 2 3 | string aranacak = "karadasburak.com"; string cx = "012206473211536691174:p3wdsjftbeo" ; string apikey = "AIzaSyBAPNMCX7Ywi85WMCW1WGLNvIucpbnCe_8"; |
Aşağıda link diye bir string oluşturdum. burada “start” diye bir parametre bulunmaktadır. Bu “start” hangi sayfada araması gerektiğini belirttiğimiz parametredir. Ben burada 1. sayfada aramasını belirttim. Daha fazla parametreleri öğrenmek istiyorsanız bu linke tıklayınız.
1 2 3 4 5 6 7 8 | string link = "https://www.googleapis.com/customsearch/v1?key=" + apikey + "&cx=" + cx + "&q=" + aranacak + "&start=1"; var request = WebRequest.Create(link); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream data = response.GetResponseStream(); StreamReader reader = new StreamReader(data); string rs = reader.ReadToEnd(); dynamic json = JsonConvert.DeserializeObject(rs); |
Json dosyayı Post ettikten sonra bize “Title”, “Link”, “Snippet”, “Source”, “Query” ve “Index” dönmektedir. Ben bunları datagridview ekledim.
1 2 3 4 5 6 7 | if (json.items != null) { foreach (var item in json.items) { dgv.Rows.Add(item.link, item.title, item.snippet); } } |
Soru ve görüşleriniz için [email protected] adresine mail atabilirsiniz.