Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Łączenie z API.. jak sie za to zabrac
Forum PHP.pl > Forum > Przedszkole
Wasper
Witam.

Mam problem. Dostalem ostatnio szybka dokumentacje


**********************************************
Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
url: api.xxxxxx.xxxxxx.com.pl

Authorization
Access to API is protected by token authorization.
Authorization header:
Token token="[MD5 TOKEN]"
so http header should looks like:
Authorization: Token token="[MD5 TOKEN]"

API resources
award order status

GET /api/v1/award_order_status/[ORDER NUMBER](.:format)

Available formats: json, xml
********************************

... i przyznam szczerze, ze nie mialem jeszcze totalnie stycznosci z tym i totalnie nie wiem jak sie za to zabrac.
Cel jest taki, ze podaje zmienna i odbieram status rekordu.

Wygrzebalem cos takiego
  1. // Create a stream
  2. $opts = array(
  3. 'http'=>array(
  4. 'method'=>"GET",
  5. 'header'=>"Accept-language: en\r\n" .
  6. "Cookie: foo=bar\r\n"
  7. )
  8. );
  9.  
  10. $context = stream_context_create($opts);
  11.  
  12. // Open the file using the HTTP headers set above
  13. $file = file_get_contents('http://www.example.com/', false, $context);


ale niewiele mi pomoglo, po prostu mam pustke przed oczami, nie wiem z ktorej strony to ugryzc.
Wesprzyjcie rada, prosze smile.gif
Pozdro
toffiak
Najłatwiej wykorzystać CURL-a, za jego pomocą wysyłasz żądanie GET na podany adres, gdzie zastępujesz ORDER NUMBER identyfikatorem zamówienia którego dane chcesz otrzymać i podajesz dane dotyczące formatu zwracanych danych: json, xml.
Następnie otrzymane dane parsujesz i pobierasz co Ci jest potrzebne.
Wasper
Ok, zrobilem tak:

  1. $ch = curl_init('http://xx/xx/xx/zam_id.json');
  2. $headers = array('Authorization: Token token=xxxxxxxxxxxxx');
  3. curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
  4. curl_exec($ch);
  5. curl_close($ch);


i wszystko jest ok, tyle, ze dane wyrzuca mi na ekran, a jak je wpakowac do zmiennej, zeby pozniej zrobic z tego tablice?
Pewnie to jest glupie pytanie, ale juz jakos nie moge mysli pozbierac...
Arcioch
Może tak najprościej wink.gif

  1. $ch = curl_init('http://xx/xx/xx/zam_id.json');
  2. $headers = array('Authorization: Token token=xxxxxxxxxxxxx');
  3. curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
  4. $result = curl_exec($ch);
  5. curl_close($ch);


I teraz pod zmienną $result masz dane pobrane cUrlem. Odpowiednie przetworzenie i powinnieneś mieć co chcesz wink.gif
Wasper
No wlasnie tez tak probowalem i nie dzialalo.
Ostatkami trzezwego myslenia odgrzebalem

curl_setopt($ch, CURLOPT_RETURNTRANSFER , TRUE );

i wszystko gra i dziala jak nalezy.

Dzieki wszystkim za wszelaka pomoc.
Pozdro
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.