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 : Sélectionner tout - Visualiser dans une fenêtre à part
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) :![]()
![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager