7 Haziran 2015 Pazar

Php Api ile Hava Durumu Öğrenme

Merhaba arkadaşlar bugün sizlere php ile api key kullanarak kolay bir şekilde hava durumu almayı anlatacağız. Bunun için php ile kod yazmadan önce api key oluşturacağımız siteye gidip üye olmamız gerekmektedir.

http://www.worldweatheronline.com/api/compare.aspx

adresine tıklıyoruz ve buradan “free api” başlığı altında en altta bulunan “sing up now free api” butonuna tıklıyoruz. karşımıza gelen formda email hesabımızı ve şifremizi bunun yanında kullanacağımız ismi giriyoruz. Hemen ardından belirttiğimiz email adresine giriş yaparak gelen mailde bulunan onay linkine tıklayarak hesabımızı onaylıyoruz. Hesap onaylandıktan sonra
panelde Free-Weather-API-V2 başlığı altında Generate new api key linkine tıklayarak kendimize bir api oluşturuyoruz. Burada bizden api için uygulama başlığı yazmamızı isteğe bağlı olarak da yayınlanacağı site ve kısa bilgi istiyor isterseniz bu alanları boş geçebilirsiniz. Hemen sonrasında ise bize bir adet api key oluşturup bizi tekrardan

https://developer.worldweatheronline.com/

adresine yönlendiriyor. Bu sefer karşımıza belirlediğimiz uygulama ismi ile hemen yanında uzunca bir api key (api anahtarı) yazısı gösteriliyor.
Buraya kadar tamam ise şimdi hiç lafı uzatmadan php tarafına geçerek küçük bir kod yazalım.

$havaApi   =   file_get_contents("http://api.worldweatheronline.com/free/v2/weather.ashx?q=istanbul&format=json&num_of_days=5&key=Api Key Yazınız");
$_json     =   json_decode($havaApi);


yukarıda ki kodlarda ilk satırda api key bilgisi girerek uzak sunucudan json formatında veri çektik.
ikinci satırda ise elde ettiğimiz json kodlarını decode ederek bir nevi dizi haline getirdik.

şimdi ise elde ettiğimiz bilgileri gösterme zamanı

foreach($_json->data->weather as $havaVeriler){
 echo "Gün : " . $havaVeriler->date ." Derece : " . $havaVeriler->mintempC .'&deg; ile '. $havaVeriler->maxtempC. "&deg;<br>";



Yazmamız gereken tüm kodlar ve adımlar bu kadardı. :D
Ekran Çıktısı

Gun : 2014-12-26 Derece : 10 ° ile 18 °
Gun : 2014-12-27 Derece : 4 ° ile 10 °
Gun : 2014-12-28 Derece : 3 ° ile 11 °
Gun : 2014-12-29 Derece : -4 ° ile 12 °
Gun : 2014-12-30 Derece : 6 ° ile 10 °



Evet anlatacaklarımız, yazacağınız kodlar ve adımlar bu kadardı. Toplam 4 satır kod ile 5 günlük hava durumunu almış olduk.
Not : &deg; ile yazdığım yerler aslında önizlemede °C görünmesi gerekiyordu fakat eklentide sorun olduğundan &deg; ile değiştirmek zorunda kaldım. Sizin uygulamalarınızda bir sorun çıkmadan kullanabilirsiniz.
Tabi bunun yanında bize gelen kodlar bununla sınırlı değil. Örnek olarak elde ettiğiniz json kodunu json viewer ile görüntülerseniz. Hava raporunun saat bazında tahminlerini de bulabileceksiniz. Ama bu hem şu an için gereksiz hemde ekstradan fazla kod ve sunucu yorgunluğu oluşturacaktı. Unutmadan biz burada derece olarak C cinsinden işlem yaptık siz isterseniz

 mintempF ve maxtempF

ile Fahrenayt olarak da bilgi çekebilirsiniz.
Bunun yanında eğer 5 günlük hava tahmini yetmez derseniz belli bir ücret ödeyerek premium hesap açabilir ve daha detaylı bilgi edebilirsiniz. Ayrıca free olarak oluşturduğumuz hesap ile günlük 12.000 istek gerçekleştirebiliyoruz ki bu zaten bir çok işlem için fazlası ile yeterli. Tabi bunu aşmanında çeşitli yolları yok değil. En basitinden çektiğiniz json verilerini cache dosyasında tutup her saat başı yada belirli zamanlarda bu dosyayı güncelleyebilirsiniz ve bu dosyadan bilgileri çekersiniz. Buda saat başı aldığınız verileri cacheleyerek günde sadece 24 istek yaparsınız ve 11.976 istek boşta kalır


:D

Faydalı olması dileğiyle.

Blog

Cloud Yazılım

0 yorum:

Yorum Gönder