Moi!
Veikkaus näköjään tarjoaa jonkinmoista json rajapintaa. en vain saa jostain syystä mitään kuitenkaan näkyville php:lla. virheitäkään ei tule. tyhjää vaan. file_get_contest on enabloituna php.inissä.
osoite: https://www.veikkaus.fi/api/v1/sport-games/draws?game-names=SPORT
etenkin tuon brandname=1 saaminen taulukkoon olisi hyvä, mutta kaikkikin kävisi.
olen yrittänyt pyöritellä tätä seuraavasti:
$url = ("https://www.veikkaus.fi/api/v1/sport-games/draws?game-names=SPORT"); $haku = file_get_contents($url); $data = json_decode($haku); ....
https://github.com/VeikkausOy/sport-games-robot on lisätietoa tuosta.
lainaus:
karri@sanae ~> lynx -dump -head "https://www.veikkaus.fi/api/v1/sport-games/draws?game-names=SPORT"
HTTP/1.1 200 OK
Date: Thu, 23 Apr 2015 11:50:47 GMT
Cache-Control: public, s-maxage=60, max-age=60
ETag: "0785cbbbb1e30394caf31c6e093ae822f"
Content-Encoding: gzip
X-Frame-Options: sameorigin
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Strict-Transport-Security: max-age=86400; includeSubDomains
Content-Length: 5677
Age: 29
Connection: close
Content-Type: application/json
Set-Cookie: Veikkaus=407966041.20480.0000; path=/
Veikkaus näyttäis lähettävän JSONinsa gzip-pakattuna. Pura siis pakkaus ensin:
$url = ("https://www.veikkaus.fi/api/v1/sport-games/draws?game-names=SPORT"); $haku = file_get_contents($url); $purettudata = gzdecode($haku); $data = json_decode($purettudata); ....
kiitos!
tyhjää potkii vieläkin.. :/
t: mmikko
Tuleeko muuttujaan data
yhtään mitään? Oletko kokeillut tulostaa var_dump
illa tms?
Eki++ kirjoitti:
Tuleeko muuttujaan
data
yhtään mitään? Oletko kokeillut tulostaavar_dump
illa tms?
moi eki,
ei tule mitään. tyhjää vain...
error_reporting(E_ALL); $url = ("https://www.veikkaus.fi/api/v1/sport-games/draws?game-names=SPORT"); $haku = file_get_contents($url); $purettudata = gzdecode($haku); $data = json_decode($purettudata); var_dump($data); echo $data; print_r($data); echo "<table> <tr> <td><strong>test</strong></td> </tr>"; foreach($data as $tulos):?> <tr> <td><?php echo $tulos->{'id'}?></td> <td><?php echo $tulos->{'home'}?></td> <td><?php echo $tulos->{'away'}?></td> </tr> <?php endforeach; echo "</table>";
Minulla kyllä tuo koodisi tuottaa paljonkin tulostetta, tosin kaatuu echo-rivillä virheeseen ”Object of class stdClass could not be converted to string”.
Kai olet tietoinen, että error_reporting ei vielä tee virheistä välttämättä näkyviä, vaan tarvitaan myös asetus display_errors?
Oletko varma, että käyttämäsi palvelin sallii HTTP-pyynnöt ja että myös openssl on PHP:n asetuksista otettu käyttöön (HTTPS:n takia)?
Moi, mulla on oma ubuntu-serveri kaikki pitäs olla kunnossa myös tuon openssl. kuitenkin jotain vikaa on jossain koska asensin sitte winkkarille xampp:in niin siellä sit toimi. tuon ubuntun saanen korjattua kyllä.
nyt sitten on tuon datan parsimisen kanssa ongelma.
tarkoitus ois saada muotoon:
brandname home(nimi) away(nimi)
pystyisikö joku auttamaan?
t: mikko
Aikaisemmin laittamastasi koodista huomaa ettet ole tutustunut veikkaukselta tulevan datan rakenteeseen yhtään.
Minun nähdäkseni nuo tiedot saa ulos esimerkiksi näin.
$data = json_decode($purettudata); foreach ($data->draws as $draw) { foreach ($draw->rows as $row) { echo $draw->brandName.' '.$row->outcome->home->name.' '.$row->outcome->away->name.'<br>'; } }
t0ll0 kirjoitti:
Aikaisemmin laittamastasi koodista huomaa ettet ole tutustunut veikkaukselta tulevan datan rakenteeseen yhtään.
Minun nähdäkseni nuo tiedot saa ulos esimerkiksi näin. – –
kiitos, nyt pääsen eteenpäin. tuo aikasempi postaamani koodi oli vaan esimerkkinä tuossa, ja tiedossa oli, että ei se noin toimi. olisin toki voinut jätää sen poiskin. ongelma oli omissa laitteissa ku en saanut mitään dataa ulos. ja oikessa olet siinä, että en osanut tulkita tuota veikkauksen datan rakennetta oikein.
kiitos vielä kerran kaikille!
Aihe on jo aika vanha, joten et voi enää vastata siihen.