Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Autoryzacja API
Forum PHP.pl > Forum > Przedszkole
BienuSS
Witam
Potrzebuje ogarnąć API na swoją stronę aczkolwiek jeśli chodzi o to, to dla mnie to jest dramat

Jak wstawić poniższy kod na swoją stronę ?
  1. curl -gi "https://api.pandascore.co/lol/champions.json?token=XXXXXXXXXXXXXXXXXXXXXXXXX"
  2.  
  3. HTTP/1.1 200 OK
  4. Content-Type: application/json; charset=utf-8
  5. Link: <https://api.pandascore.co/lol/champions.json?page=3&token=XXXXXXXXXXXXXXXXXXXXXXX>; rel="last", <https://api.pandascore.co/lol/champions.json?page=2&token=XXXXXXXXXXXXXXXXXXXXXX>; rel="next"
  6. X-Page: 1
  7. X-Per-Page: 50
  8. X-Request-Id: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  9. X-Runtime: 0.077614
  10. X-Total: 133
  11.  
  12. [{"id":68,"name":"Twitch","armor":23,"armorperlevel":3,"attackdamage":49,"attackdamageperlevel":3,"attackrange":550,"attackspeedoffset":0,"attackspeedperlevel":3,"crit":0,"critperlevel":0,"hp":525,"hpperlevel":81,"hpregen":6,"hpregenperlevel":0,"movespeed":330,"mp":287,"mpperlevel":40,"mpregen":7,"mpregenperlevel":0,"spellblock":30,"spellblockperlevel":0}, (...)]
  13.  

leonpro778
Z tego co się orientuję to wysyłasz żądanie pod wskazany przez Ciebie adres URL i w JSON otrzymujesz odpowiedź. Dla Ciebie w PHP interesująca funkcja to json_decode(). Na stronie pandascore masz całkiem całkiem to wyjaśnione.

P.s. To co podałeś to akurat nie jest kod tylko odpowiedź zwrotna z serwera.
BienuSS
A dałbyś rade mi wytłumaczyć jak dokładnie to zrobić?
Narazie uzylem tej funkcji:

  1. <?php
  2.  
  3. $url = "https://api.pandascore.co/lol/champions.json?token=Pd7EengeQ7JqMqzADdB_brKCgQjNe0z_7g5nyz5lZU_nZFSR9Jo";
  4.  
  5. $cURL = curl_init();
  6.  
  7. curl_setopt($cURL, CURLOPT_URL, $url);
  8. curl_setopt($cURL, CURLOPT_HTTPGET, true);
  9.  
  10. curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
  11. 'Content-Type: application/json',
  12. 'Accept: application/json'
  13. ));
  14.  
  15. $result = curl_exec($cURL);
  16.  
  17. curl_close($cURL);
  18.  
  19.  
  20.  
  21. print_r($result);
  22.  
  23. ?>



I na tym etapie stanalem jak narazie.
leonpro778
No i bardzo dobrze kombinujesz smile.gif

Tylko DWIE rzeczy (zmieniłem trochę adres bo nie chciało mi się aby tyle tekstu mi się wywaliło na ekranie):

  1. <?php
  2.  
  3. $url = "https://api.pandascore.co/lol/champions/1?token=Pd7EengeQ7JqMqzADdB_brKCgQjNe0z_7g5nyz5lZU_nZFSR9Jo";
  4.  
  5. $cURL = curl_init();
  6.  
  7. curl_setopt($cURL, CURLOPT_URL, $url);
  8. curl_setopt($cURL, CURLOPT_HTTPGET, true);
  9. curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false); // masz HTTPS
  10. curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true); // po to, żeby wynik curl_exec zwrócił nam do zmiennej $result a nie bezpośrednio na ekran
  11.  
  12. curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
  13. 'Content-Type: application/json',
  14. 'Accept: application/json'
  15. ));
  16.  
  17. $result = curl_exec($cURL);
  18.  
  19. curl_close($cURL);
  20.  
  21.  
  22. $result_array = json_decode($result, true); // dekodujemy otrzymanego JSON'a i robimy z tego tablicę
  23.  
  24. var_dump($result_array); // wyświetlenie wszystkich elementów tablicy
  25.  
  26. echo('<br /><br /><br />'.$result_array['name']); // wyświetli Gnar, czyli pojedyncze pole
  27.  
  28. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.