Als opdracht van school ben ik bezig om mijn stats van WhatPulse uit te lezen en die weer te geven in grafieken. WhatPulse heeft een Web API die de stats aanbiedt in XML of JSON. Nu heb ik al redelijk wat gegevens uit weten te lezen via de XML-variant, maar nu loop ik toch tegen een probleem aan.
Om even duidelijk te maken wat er probleem is, is misschien achterliggende informatie over WhatPulse wel handig om te weten:
WhatPulse is een programma die je (aantal) keys en clicks bijhoudt. Deze aantallen worden lokaal gespaard en opgeslagen, en worden een keer in de zoveel tijd (automatisch of handmatig) gestuurd naar de server. Dit worden pulses genoemd en deze pulses wil ik uitlezen. Dit kan via de API http://api.whatpulse.org/pulses.php?user=168885.
Echter worden de pulses gesorteerd door middel van hun pulsenummer op de XML-pagina. De nummers van de pulses lijken echter willekeurig (er zal wel een systeem in zitten). Zo heet de nieuwste pulse <Pulse-14157418> en de pulse daarna heet <Pulse-141495637>. Dit nummer is dus praktisch onbekend en een for-loop lijkt me hier ook niet echt geschikt voor omdat het over grote getallen gaat.
Nu weet ik dus niet hoe ik deze uit moet lezen.
De gegevens zou ik uit kunnen lezen met bv. $feed->Pulse->Keys, maar hoe doe ik dit als er een onbekend getal tussen zit...?
Ik moet er ook even bij vermelden dat mijn PHP-kennis niet heel hoog is.
Hierbij een stuk code die ik gebruik om een ander deel van de API uit te lezen:
Om even duidelijk te maken wat er probleem is, is misschien achterliggende informatie over WhatPulse wel handig om te weten:
WhatPulse is een programma die je (aantal) keys en clicks bijhoudt. Deze aantallen worden lokaal gespaard en opgeslagen, en worden een keer in de zoveel tijd (automatisch of handmatig) gestuurd naar de server. Dit worden pulses genoemd en deze pulses wil ik uitlezen. Dit kan via de API http://api.whatpulse.org/pulses.php?user=168885.
Echter worden de pulses gesorteerd door middel van hun pulsenummer op de XML-pagina. De nummers van de pulses lijken echter willekeurig (er zal wel een systeem in zitten). Zo heet de nieuwste pulse <Pulse-14157418> en de pulse daarna heet <Pulse-141495637>. Dit nummer is dus praktisch onbekend en een for-loop lijkt me hier ook niet echt geschikt voor omdat het over grote getallen gaat.
Nu weet ik dus niet hoe ik deze uit moet lezen.
De gegevens zou ik uit kunnen lezen met bv. $feed->Pulse->Keys, maar hoe doe ik dit als er een onbekend getal tussen zit...?
Ik moet er ook even bij vermelden dat mijn PHP-kennis niet heel hoog is.
Hierbij een stuk code die ik gebruik om een ander deel van de API uit te lezen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| $uid = 168885; $source = 'http://api.whatpulse.org/user.php?user='. $uid; $feed = simplexml_load_file($source); $keys = $feed->Keys; $clicks = $feed->Clicks; $wp_array = array( "apichangetimestamp" => $feed->GeneratedTime, "name" => $feed->AccountName, "country" => $feed->Country, "Joindate" => $feed->DateJoined, "Homepage" => $feed->Homepage, "LastPulse" => $feed->LastPulse, "keys" => $keys, "clicks" => $clicks, ); |
[ Voor 19% gewijzigd door Mr. Awesome op 22-06-2014 14:17 ]