Sandbox et Facebook

Résolu
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015 - 18 oct. 2011 à 23:38
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015 - 19 oct. 2011 à 09:17
Bonjour!

Je viens vous demander un peu d'aide car après près de 4h de recherche, je reste bloqué...

Voilà, je réalise une animation qui charge des photos de profil sur Facebook. Tout marchait nikel jusqu'à ce que mon client décide me mettre un accès avec mdp...

Depuis, plus rien ne se charge. Alors j'ai eu la fameuse "Erreur #2122: Violation de la sécurité Sandbox", me suis bien renseigné, ai réussi à trouver le fichier crossdomain.xml où je récupère les photos, créé mon Security.loadPolicyFile() mais toujours rien...

Alors voici des infos :

Dans mon XML, je récupère des photos FB sous la forme http://graph.facebook.com/numéro_de_l_utilisateur/picture

Est-ce que à cause du .thaccess et .htpasswd que ces adresses ne fonctionnent plus? J'en doute mais je pose la question car avant ça, ça chargeait très bien.

Dans mon fla :

import flash.events.Event;

Security.loadPolicyFile("https://graph.facebook.com/crossdomain.xml");

var loader:URLLoader=new URLLoader();
loader.load(new URLRequest("https://graph.facebook.com/crossdomain.xml"));
loader.addEventListener(Event.COMPLETE, securityHandler);

function securityHandler(evt:Event){
//le fichier crossdomain.xml se charge sans problème
debug.text="crossdomain.xml : OK \n";
Security.allowDomain("https://graph.facebook.com/");
//J'ai essayé celui-là aussi mais en vain :
//Security.allowInsecureDomain("https://graph.facebook.com/");
}


Quand je lance l'animation, ça me charge la première image qui est sur le serveur mais la deuxième qui elle est sur FB, bloque étonnamment arrivé à 100%.

Voilà donc si vous pouvez m'aider, ça serait sympa!

Merci d'avance!


--------------------------------------------------------

http://www.projer.fr - dev web
http://www.lysdesign.fr - DA print / web - Illustratrice

3 réponses

projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
19 oct. 2011 à 09:17
Salut, oui j'y ai pensé mais il était tard et j'avais très envie d'aller me coucher hier :p
Voici donc la solution à mon problème, ça peut toujours être utile à d'autres :)

En fait l'Erreur #2122 se déclenchait (bizarrement pas sur le chargement lui-même mais sur l'antialiasing de l'image chargée) car l'adresse réelle de l'image ne commence pas par "https://graph.facebook.com/" mais par "https://fbcdn-profile-a.akamaihd.net/".

Il faut donc charger le fichier crossdomain ainsi : Security.loadPolicyFile("https://fbcdn-profile-a.akamaihd.net/crossdomain.xml") et ensuite autoriser le domaine à l'aide de Security.allowDomain("https://fbcdn-profile-a.akamaihd.net/");

Vous verrez donc en tapant les adresses dans votre navigateur que le fichier crossdomain.xml existe sous les 2. Il est présent d'ailleurs dans beaucoup d'endroits sur Facebook.

A partir de là, tout se charge nickel.

En fait, quand on tape dans le navigateur l'adresse de base fournie par Facebook soit http://graph.facebook.com/numéro_de_l_utilisateur/picture, l'adresse change complètement et commence par https://fbcdn-profile-a.akamaihd.net/..., adresse physique du fichier je pense.

Voilà, en espérant que ça puisse en aider certains :)


--------------------------------------------------------

http://www.projer.fr - dev web
http://www.lysdesign.fr - DA print / web - Illustratrice
3
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
18 oct. 2011 à 23:57
Ca venait pas de là, je viens de trouver, désolé...


--------------------------------------------------------

http://www.projer.fr - dev web
http://www.lysdesign.fr - DA print / web - Illustratrice
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
19 oct. 2011 à 02:19
Bonsoir, pourrais-tu expliquer comment tu as réglé ton problème ?
Cela pourrait être utile pour les prochaines personnes qui rencontreraient le même problème.

Peg'
0
Rejoignez-nous