Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
9
Cevap
501
Tıklama
0
Öne Çıkarma
HTTP API'leri siteye entegre etmek
A
7 yıl
Yarbay
Konu Sahibi

Hemen soruma gireyim, mesela bazı sitelerde api.x.com/user=mrunseen diye girip json (ya da xml) den response alıyoruz ya. Ben bunu sitede otomatikleştirmek istiyorum. Json parselemey8 öğrendim fakat bunu nasıl yaparım bir türlü çözemedim, ingilizcemde var mükemmel olmasa da. Ne diye aratmam lazım bunu bilmiyorum mesela.



< Bu ileti DH mobil uygulamasından atıldı >

M
7 yıl
Yarbay

Bunu "otomatiklestirmek" derken kastettigin nedir? Kendi sitende belirli URL cagrildiginda JSON mi donmek istiyorsun? Olayin JSON parse etmek ile alakasi nedir?



< Bu ileti tablet sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
A
7 yıl
Yarbay
Konu Sahibi

Şöyle olucak mesela.

Şu örnek bir API linki olsun.

https://lichess.org/api/user/qwertyuiopzcx

Normal browserden girince direk JSON olarak gözüküyor.

Benim yapmak istediğim, kullanıcı bir boşluğa /user/ den sonrasını girecek daha sonra karşısına JSON değil belli variableler parselenmiş şekilde gözükecek.

-

Kullanıcı şöyle görüyor:

Sitedeki boşluğa nick girip enterliyor

Daha sonra karşısına JSON'dan parselenmiş belli değerler geliyor. Örnek olarak maç sayısı vb





< Bu mesaj bu kişi tarafından değiştirildi akzidenz -- 19 Şubat 2018; 23:59:1 >

< Bu ileti DH mobil uygulamasından atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Mephalay
M
7 yıl
Yarbay

Tamam, soyle bir senaryo yani.
1) Adam siteye girdi, normal bir html sayfasi. Kullanici adi girebilecegi bir form alani var.
2) Kullanici adini yazdi ve submit etti.
3) Yeni onune gelen sayfada, JSON parse edilmis olacak.

Istedigin bu sanirim oyle mi?
Yani aslinda senin verdigin linkteki gibi bir goruntuyu elde etmek istiyorsun, 3. adimda.

Server response donerken html degil, String response donecek ve bu String de JSON olacak. Hangi dil ile yaziyorsun?

Server response type i olarak application/json yazacak header'a ve yalnizca JSON response u donecek. Yazdigin dile gore de, elinde objeyi JSON seklinde yazdiracaksin. Yani sen parse etmeyi ogrendim yazmistin ya ilk mesajinda, tam tersini yapip objeyi stringify edeceksin.

Senin verdigin ornekteki response header larini incelersen application/json header'ini gorebilirsin:https://i.hizliresim.com/LbbJYa.png

Bu arada verdigin linkteki JSON'da "pussyslayer1337" yaziyor, dikkatlerden kacmadi : )





< Bu mesaj bu kişi tarafından değiştirildi Mephalay -- 20 Şubat 2018; 1:56:21 >

< Bu ileti tablet sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @mrunseen
A
7 yıl
Yarbay
Konu Sahibi

O zaman şöyle yapmam gerekiyor sanırım. Curl la istek yollayıp gelen JSON'u Javascript kullanarak stringe çevireceğim en sonra js den htmle yazarmış gibi sitenin görünen kısmına aktaracağım.

Formu PHP ile yapacağım sanırım onda user/ den gelen kısmı var olarak gösterip inputu var la mı replaceleyeceğim. ?
quote:


Bu arada verdigin linkteki JSON'da "pussyslayer1337" yaziyor, dikkatlerden kacmadi : )


:)



< Bu ileti DH mobil uygulamasından atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Mephalay
M
7 yıl
Yarbay

Curl ile request neden yolluyorsun? Gostermek istedigin data ( JSON formatinda olan ) baska bir server'a mi ait? Yani :

[kullanici] ---> [senin site] ---> [3. baska bir web sitesi] gibi bir durum mu var ortada?

Eger boyle ise, ben seni ilk mesajda yanlis anlamis oluyorum; evet tek yapman gereken kullanicinin senin sitene girdigi input a gore diger server dan JSON i cekip gostermek olacak. Bir nevi proxy olacaksin aslinda.

Ama eger data sendeyse, var olan datayi JSON ile gostereceksin yalnizca. Aslinda response donerken Content-type i application/json yapacaksin ve String doneceksin, basit bir sey bu.

---

" Curl la istek yollayıp gelen JSON'u Javascript kullanarak stringe çevireceğim " demissin ; Curl ile istek yolluyorsan server side 'a gelmissin demektir. Yani kullanici input a yazmis yazacagini, server a request gelmis. Bu noktadan sonra Javascript ile JSON parse edemezsin. Curl response ' unu PHP ile parse edip, string e cevirmen gerekiyor.

Alternatif olarak, kullanici input u submit ettiginde, Ajax kullanarak XHR request i yazabilirsin, boylece request senin server a hic gelmez; gelen response u da JS kullanarak stringify edip gosterebilirsin ayni sayfada.



< Bu ileti tablet sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @mrunseen
A
7 yıl
Yarbay
Konu Sahibi

Verdiğim örnek:
https://github.com/ornicar/lila/blob/master/README.md#http-api

Evet, dediğiniz gibi 3. bir siteden veri alacağım.

Bahsettiğiniz şeyi araştıracağım, teşekkürler.





< Bu mesaj bu kişi tarafından değiştirildi akzidenz -- 20 Şubat 2018; 16:5:11 >

< Bu ileti DH mobil uygulamasından atıldı >
Bu mesaja 1 cevap geldi.
A
7 yıl
Yarbay
Konu Sahibi

şu sayfa dediğimi anlatıyor sanırımhttps://www.w3schools.com/js/js_json_http.asp




Bu mesajda bahsedilenler: @mrunseen
V
7 yıl
Onbaşı

$json = file_get_contents("https://lichess.org/api/user/qwertyuiopzcx");
$array = json_decode($json,true);
print_r($array);
echo "adamin kullanici adi: {$array['username']}";



< Bu ileti DH mobil uygulamasından atıldı >

A
7 yıl
Yarbay
Konu Sahibi

https://github.com/3mirhan/lichess-php durum şu. formdaki veriyi işlersem amacıma ulaşmış olacağım
https://github.com/3mirhan/lichess-php/issues/2 şimdi de jsonu decodeleyemiyorum





< Bu mesaj bu kişi tarafından değiştirildi akzidenz -- 11 Mart 2018; 14:53:49 >

< Bu ileti DH mobil uygulamasından atıldı >


Bu mesajda bahsedilenler: @vona70 , @Mephalay
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.