Page 1 sur 1

API allociné

Posté : 25 janv. 2015, 21:23
par silvere
Bonjour,
Je souhaite depuis mon site, récupérer des informations sur allociné, j'ai donc effectué des recherches sur google.
Deux résultats semblent importants :
-http://wiki.gromez.fr/dev/api/allocine_v3
Je n'ai pas réussi a exploité ce lien (sans doute par manque de connaissances).
-https://github.com/etienne-gauvin/api-allocine-helper
J'ai installé cette api sur mon site, certain éléments fonctionnent mais de nombreuses erreur surviennent rendant son utilisation impossible...
Si une âme charitable passait par la pour m'éclairer les yeux ça serait super ! :mrgreen:
Merci d'avance.
Silvère.

Re: API allociné

Posté : 25 janv. 2015, 21:45
par @rthur
Bonjour,

Si tu n'indiques pas les messages d'erreur et le code PHP correspondant, c'est compliqué de t'aider...
On ne va pas déployer spécifiquement des scripts pour essayer de deviner où tu bloques :-/

Voila une API pour Allociné que j'ai utilisé par le passé et qui fonctionne : https://github.com/gromez/allocine-api

IMPORTANT : Il te faut un accord avec Allociné pour avoir le droit de récupérer leurs données.

Re: API allociné

Posté : 25 janv. 2015, 23:18
par silvere
Merci de ton aide !
D'accord je vais leur envoyer un mail merci pour cette précision.
Je viens d'essayer l'API que tu ma proposé, pour get.php j’obtiens tout un long texte de données qui correspond a ma demande :
Voici un extrait :

Code : Tout sélectionner

{"movie":{"code":205445,"movieType":{"code":4002,"$":"Long-métrage"},"originalTitle":"The Expendables 3","title":"Expendables 3","keywords":"The Expendables 3, Expendables 3 - unité spéciale ","productionYear":2014,"nationality":[{"code":5002,"$":"U.S.A."},{"code":5001,"$":"France"}],"genre":[{"code":13025,"$":"Action"},{"code":13001,"$":"Aventure"}],"release":{"releaseDate":"2014-08-20","country":{"code":5001,"$":"France"},"releaseState":{"code":3004,"$":"Sortie en salle"},"distributor":{"code":144,"name":"Metropolitan FilmExport"}},"runtime":7620,"color":{"code":12001,"$":"Couleur"},"language":[{"code":6002,"$":"Anglais"}]
Puis a la fin :

Code : Tout sélectionner

Not Found The requested URL /allocine-api-master/PHP/\/\/www.allocine.fr\/_video\/iblogvision.aspx was not found on this server. Apache/2.4.9 (Win64) PHP/5.5.12 Server at 192.168.0.16 Port 80
Déjà je voudrais savoir comment exploiter les donnés, puis si ce qu'il y a la fin aurais une conséquence ou si c'est seulement du fait que je sois en réseau local.

Re: API allociné

Posté : 25 janv. 2015, 23:32
par tof73
c'est du json, donc http://php.net/manual/fr/function.json-decode.php (qui nécessite du json valide).

Re: API allociné

Posté : 26 janv. 2015, 13:50
par @rthur
Et si tu leur demandes un accord, ils vont te fournir une clé pour leur API et une documentation qui devrait t'expliquer justement comment utiliser officiellement leur API.

Re: API allociné

Posté : 30 janv. 2015, 11:37
par silvere
J'ai réussi grâce a vos indications, merci beaucoup ! :D
Il ne me reste plus qu'un détail qui me pose problème.
Cela ce passe dans la récupération des donnés en particulier des genres du film (action, aventure...) ; quand j’exécute cette ligne :

Code : Tout sélectionner

var_dump($movie->genre);
J’obtiens par exemple (Cela varie en fonction du film) :

Code : Tout sélectionner

object(AlloData)[4] private '_data' => array (size=2) 0 => array (size=2) 'code' => int 13021 '$' => string 'Science fiction' (length=15) 1 => array (size=2) 'code' => int 13001 '$' => string 'Aventure' (length=8) protected 'utf8Decode' => boolean true private '_position' => int 0
Sachant que le nombre de genre varie pour chaque film, comment (avec une boucle for j'imagine :wink: ) mettre les n genre(s) dans une variable chacun séparé par une virgule.
Ce qui me bloque le plus c'est pas le raisonnement mais c'est la récupération des donnés.
Merci encore pour votre aide.

Re: API allociné

Posté : 31 janv. 2015, 15:59
par silvere
Ce que je n'arrive pas a gérer c'est la clef $, cela entraine une erreur de syntaxe dans mon script :

Code : Tout sélectionner

$i = $data->movie->genre; var_dump($i[0]->$);
J’obtiens comme erreur:

Code : Tout sélectionner

Parse error: syntax error, unexpected ')', expecting variable (T_VARIABLE) or '$' in C:\wamp\www\allocine-api-master\test.php on line 29
J'ai également essayer avec "$"
J’obtiens comme erreur:

Code : Tout sélectionner

Parse error: syntax error, unexpected '"$"' (T_CONSTANT_ENCAPSED_STRING), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in C:\wamp\www\allocine-api-master\test.php on line 29
Alors que pour récupérer le "code" (voir le var_dump précédent) cela fonctionne :

Code : Tout sélectionner

$i = $data->movie->genre; var_dump($i[0]->code);

Re: API allociné

Posté : 31 janv. 2015, 21:07
par @rthur
Voici la syntaxe lorsque les champs JSON ont des noms comprenant des caractères spéciaux :
var_dump($i[0]->{'$'});

Re: API allociné

Posté : 01 févr. 2015, 17:25
par silvere
C'est exactement ce que je cherchais merci !