Merhaba bu yazımızda Yahoo’nun sunduğu hava durumu api’sinden İstanbuldaki hava durumu verisini çekecek bir Form uygulaması gerçekleştireceğiz.
1. Adım : Yahoo Kayıt
Yahoo hesabınız yoksa kayıt olun sonra verdiğim linke tıklayarak burada hesabınızı açın eğer hesabınız varsa doğrudan linke tıklayabilirsiniz(Yahoo bilgisayarda giriş yapılmış durumda ise linkte gideceğiniz sitede de login yapılmış bir şekilde gelebilir)
2. Adım : Yahoo Hava Durumu
Linke tıkladığınızda açılan sitenin üstündeki header menu’de bulunan API’s menu buttonuna tıklayın.
Açılan sayfada Weather isimli API Yahoo’nun hava durumu API’sidir. Altındaki Documentation isimli linke tıklarsanız kullanımı ile ilgili detaylı dökümantasyona yönlendirilirsiniz. Biz şimdi Overview isimli linke tıklayalım.
Açılan sayfada resimde gördüğünüz Create an App key butonuna tıkayın. Ama bu sayfayı açık tutun ekranda gözüken 1. adım olan get started aşamasını tamamladıktan sonra 2. aşama için buraya geri döneceğiz.
Açılan form sayfasını benim doldurduğum gibi doldurabilirsiniz. Ardından Create App butonuna tıklayın.
AppID, ClientID ve ClientSecret bilgilerinizi bir yere kaydedin daha sonra kullanacağız.
Size öncesinde kapatmayın dediğim sayfaya geri dönüyoruz artık 1. aşama olan get started aşaması tamamlandı, şimdi 2. aşamaya yani Whitelist your app aşamasını gerçekleştireceğiz.
bu sayfadan tekrar ayrılmadan buradaki linki açıyoruz.
Açılan sayfayı kendi bilgilerinizle doldurun.
Gelen maildeki linke tıklayarak doğrulayın ve açılan sayfada bu api’nin farklı programlama dillerinde kullanımına ilişkin üzerinden bilgi bulabilirsiniz. Doğrulama işlemini tamamladığımızda 3. adımımız olan Follow Our Documentation aşamasına geçebiliriz.
Yahoo Hava Durumu Api Postman Üzerinden Kullanımı
Sağdaki linke tıklayınız -> documentation.
Açılan dökümantasyonda Api’nin kullanımına dair bilgiler bulabilirsiniz. Biz üstteki resimde belirttiğimiz linki kullanacağız.
Öncelikle Api’miz çalışıyor mu diye rest api derleyebilen bir platformda deneyelim. Biz postman kullanacağız.(Siz denemek zorunda değilsiniz)
Postmande boş bir get request açarız.
Linkimizi yapıştırırız.
Authorization bölümünden bağlanma tipi olarak(Type) olarak OAuth 1.0 seçeneğini seçin. Resim bla isimli resimdeki bilgilerimizden ClientID değerini Consumer Key değerinin yerine Client Secret değerini Consumer Secret değerinin olduğu yere ekleyin ve Send butonuna basın.
Resimde görüldüğü gibi altta hava durumu dataları çıkacaktır ama İstanbul’un değil ABD’nin Sunyvale şehrinin hava durumu verileri geldi bu normal bir durum çünkü parametre olarak İstanbulu göndermedik.
Parametre değerimizi düzeltmek için Params kısmına tıklayın ve location key değerini “istanbul,tr” olarak değiştirin data geri dönüş formatımızın json olarak kalmasını istediğim için format değerinde bir değişiklik yapmadım. Sonuç olarak artık İstanbul şehrinin hava durumu verisi dönüyor. Yahoo Weather Api kullanımı(parametreler, kullanılabilecek URL değerleri, geri dönüş formatı ve daha birçok özelliği hakkında bilgi edinmek için daha önce belirttiğim documentation sayfasını inceleyebilirsiniz)
Yahoo Hava Durumu Api C# Form Üzerinden Kullanımı
Şimdi sizlere Postman derleyicisinin bize sunduğu ve işinizi çok kolaylaştıracak bir trick göstericem.
Yaptığınız postman sorgusu bittiğinde düzgün bir şekilde sonuç alıyorsanız sağ üstte bulunan Code yazısının üzerine tıklayınız.
Böyle bir kod bloğu açılacak bu kod bloğunu C# üzerinde projenize RestSharp.dll kütüphanesini ekledikten sonra “response“ isimli değerinizi istediğiniz gibi kullanabilirsiniz.
Yeni bir VisualStudio Windows Form projesi açın ve arayüze sadece bir richTextBox ekleyin daha sonra forma çift tıklayarak form load metodunu oluşturun.
Postman’de oluşturduğumuz kod bloğunu kullanmadan önce Manage Nuget Peckages’ e girin ve RestSharp kütüphanesini projenize ekleyin.
Using RestSharp; kodunu kütüphaneyi formunuzda aktifleştirmek için kullanın ve Postman’deki oluşturduğumuz kodu load metoduna yapıştırın. Ve richTextBox değerimizin textine response değerimizin contentini yani içeriğini gönderelim.
Gördüğünüz gibi içeriğimiz geldi artık bu içeriği istediğiniz gibi filtrelemek almak sizin elinizde ben bu yazıda çektiğim verileri filtrelemeyi ve istediğim gibi göstermeyi atladım.
Resim 18’de görüldüğü gibi projenin arayüze filtreleme yaparak veri çeken versiyonunu incelemek ve indirmek için linke tıklayınız
(Not : Github linkindeki projede extra olarak Newtonsoft.json kütüphanesi kullanılmıştır)
Bu yazımda sizlere başka geliştiricelerin geliştirdiği public bir web api’yi nasıl kullanabileceğinizi anlatmaya çalıştım. Bir sonraki yazımda görüşmek üzere.