Sandbox et Facebook

Résolu
Signaler
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
-
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
-
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

Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015

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
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015

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
Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
10
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'