J'ai une application iframe Facebook (en utilisant la nouvelle API JavaScript de Facebook) qui doit permettre à l'utilisateur d'inviter ses amis à l'application après avoir participé à un concours. Je le balisage suivant dans un div sur la page (nom de l'application et Canvas Url Expurgé):Facebook Sélecteur multi-ami ne rend pas (application iFrame)
<fb:serverFbml>
<fb:request-form
method="POST"
invite="true"
type="{Name of My Application}"
content='Your text goes here. %3Cfb%3Areq-choice%20url%3D%{a url-encoded link to my Canvas URL}"/>'
label="Authorize My Application">
<fb:multi-friend-selector showborder="false" actiontext="Invite your friends to use My Application.">
</fb:multi-friend-selector>
</fb:request-form>
</fb:serverFbml>
D'après ce que je comprends, si vous avez besoin d'utiliser des balises FBML dans une application XFBML/iframe, vous venez de les déposer dans un élément fb: serverFbml et Facebook s'en occupe. Effectivement, mes premières impressions semblent être fausses. Au lieu de tomber dans le formulaire, je reçois juste une boîte blanche vide, avec le fbml apparemment intact.
La conception de cette application suppose (probablement incorrectement) que je n'ai pas besoin d'authentifier l'utilisateur pour le laisser inviter ses amis. Existe-t-il un moyen d'y parvenir ou dois-je les obliger à se connecter en premier? La documentation de Facebook est (bien sûr) vague sur ceci.
EDIT: Mon FB.init() comme demandé:
$("body").prepend("<div id=\"fb-root\"></div>");
FB.init({
apiKey: "{My apiKey is here}",
appId: "{My appId is here}",
status: true,
cookie: true,
xfbml: true
});
Pouvez-vous aussi Montrez votre méthode d'init de js api? – serg
Ajouté mon FB.init() à la question pour vous. – Dusda
Le formulaire d'invitation est-il ajouté dynamiquement à la page après le chargement initial ou est-il présent depuis le début? – serg