Httpservices petit problème php
Salut,
voilà je teste l'api de Seeqpod pour m'initier à Cairngorm,
tout fonctionne bien en local mais forcément quand j'install tout sur mon server distant plus rien ne fonctionne .
les gars de seeqpod ont du oublier de placer un crossdomain.xml sur leur server donc la sandbox refuse d'accéder et donc je n'ai aucun retour de données;
Je me suis renseigné et il y a une solution proposé par Adobe qui est de passer par un fichier php et de récupérer dans mon flex les données par cette passerelle php;
seulement voilà je suis une bille en php.et donc cela ne fonctionne pas. :( .
voici ce que j'ai placé sur mon delagate au niveau Flex :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| public function SearchSongDelagate(responder:IResponder):void
{
this.responder = responder;
this.service = ServiceLocator.getInstance().getHTTPService("seeqpod_song_search");
// le nombre de résultat renvoyés par Seeqpod
//var indice :String = "/0/100";
}
//on initialise directement srvice.url à chaque appel getSearchsong ainsi on est sur que l'on a plus qu'à rajouter la nouvelle recherche
public function getSearchSong():void {
var url:String= "http://www.seeqpod.com/api/v0.2/clef_deseeqpod/music/search/"+ model.seeqPodSearchSong;
service.url = "seeqpod.php?maVariable=url";
//+ model.seeqPodSearchSong +indice
//trace(service.url);
// Call the Service
var token:AsyncToken = service.send();
var callResponder:Responder = new Responder( onResult, onFault );
token.addResponder( callResponder );
}
protected function onResult( e:ResultEvent ):void {
Alert.show("result"+e.result.toString());
// appel la classe parser
var SongList:Array = SeeqPodParserFactory.buildSongArrayFromXML(e.result as XML);
//trace("le tableau songList: "+SongList);
responder.result( new ResultEvent( ResultEvent.RESULT, false, true, SongList ) );
}
protected function onFault( fault:FaultEvent ):void {
Alert.show(fault.fault.faultString, fault.fault.faultCode.toString());
}
} |
et voici le fichier php que j'ai trouvé sur le web (je signale que j'ai enregistré le fichier en utf 8) : :roll: :roll:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?php
//On verifie que l'on a bien re�u la variable venant de flash
if(!isset($_GET["maVariable"])) {
//si vide on arr�te le script
die( "Error" );
}
//si votre .php n'est pas encod� en utf-8, decommentez la ligne suivante et supprimer l'autre echo
//echo utf8_encode(file_get_contents($_GET["maVariable"]));
//et si votre php est encod� en utf8, si pas supprimer la ligne suivante et decommenter la ligne precedente
echo file_get_contents($_GET["maVariable"]);
?> |
si quelqu'un connait une soluce à ce problème ce m'arrangerait beaucoup. ....
pour infos j'utilise flex 2 (oui je sais la version 3 ..) et pour mes test j'utilise un mutualisé
Merci