Beste PHP'ers,

Ik ben de afgelopen tijd begonnen met api's & PHP. Eerst heb ik een alarmeringenfeed gemaakt met php die xml uitleest.
Nu wilde ik het zelfde doen met de NS API. Ik kom er echter niet uit hoe ik met de API kan verbinden. Ik heb een account en api key gekregen.

Misschien kan een van jullie mij helpen.
Met cURL kan je een username en password doorgeven via http-authencation wat de NS gebruikt.
Ik heb gekeken naar cURL maar het lukt me niet. Misschien kan je me een voorbeeld geven van een cURL connectie naar een api?
<?php
$username = "[email protected]";
$password = "jouw-password";
$url = "http://webservices.ns.nl/ns-api-storingen?actual=true"; // jouw endpoimt.

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);
$result = curl_exec($ch);
curl_close($ch);

$xml = simplexml_load_string($result,NULL, LIBXML_NOCDATA);
?>
[/code]

<?php
    $username = "mijn username";
    $password = "Mijn ww";
    $url = "webservices.ns.nl/ns-api-avt?station=utrecht"; // jouw endpoimt.

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);
    $result = curl_exec($ch);
    curl_close($ch);

    $xml = simplexml_load_string($result,NULL, LIBXML_NOCDATA);

    for ($i = 0; $i < 15; $i++){
        $test = $xml->ActueleVertrekTijden->VertrekkendeTrein[$i]->RitNummer;
        echo $test;
    }
?>

Dit heb ik nu. maar ik krijg de error: trying to get property of a non object iemand enig idee, waarom en waardoor dit komt?


Wat zegt een var_dump() op $test en $xml?

Update:
Ik heb even gekeken, en probeer dit eens:
$xml->VertrekkendeTrein[$i]->RitNummer;
Nice dat werkt! Thanks voor jullie hulp!

Reageren