FB.l'interface utilisateur d'alimentation boîte de dialogue nécessite redirect_uri, le dialogue ne se ferme pas
Je suis en train d'essayer d'ouvrir un flux dialogue à l'aide de la JS SDK de FB.l'interface utilisateur de la méthode et de l'avoir fermer après les actions des utilisateurs. Mon problème est l'alimentation la boîte de dialogue exigeant une redirect_uri même si la documentation dit qu'elle n'a pas à être défini, et la fenêtre pop-up redirige là et ne se fermera pas comme la fonction de callback dit.
Voici mon code, attaché à la soumettre cliquez sur l'événement:
FB.ui (
{
method: 'feed',
name: 'xxx!',
link: 'link to FB tab',
picture: 'jpg',
caption: 'xxx',
actions: {name:'xxx',link:'url'},
ref: 'xxx',
redirect_uri: 'link to FB tab'
},
function(response) {
self.close();
}
);
Si je ne redirect_uri, la popup s'ouvre, mais il a juste dit que le FB app a une erreur et merci d'essayer de nouveau.
OriginalL'auteur Jeremy Schultz | 2012-01-20
Vous devez vous connecter pour publier un commentaire.
Il apparaît que ce est un changement dans Facebook du SDK JavaScript: http://developers.facebook.com/bugs/302946973066993
C'est ce comportement que je m'y suis habitué et ont essayé de les imiter. Un FB dev rapports que c'est maintenant "de par leur conception."
OriginalL'auteur Jeremy Schultz
Après avoir passé une journée entière à travailler sur ce problème, j'ai une très bonne solution que j'aimerais partager. Au lieu d'utiliser le SDK avec FB.l'interface utilisateur(), j'ai découvert que je peux l'éviter entièrement manuellement à l'ouverture de mon propre popup à https://www.facebook.com/dialog/feed. Lorsque le faisant de cette façon, redirect_uri fonctionne comme prévu, et il vous suffit de rediriger vers un fichier HTML qui ferme la fenêtre contextuelle. Si l'utilisateur clique sur partager, ou de l'annuler, la fenêtre se ferme comme prévu.
Je ne crois pas qu'il y a de tout compromis avec ce code, et si quelque chose, il est beaucoup plus facile à utiliser que le kit de développement SDK.
Mon code Javascript (que vous pouvez enregistrer en tant que FacebookFeedDialog.js ressemble à ceci:
Voici un exemple de fichier HTML qui utilise le code Javascript ci-dessus:
Votre closeWindow fichier html peut ressembler à ceci:
OriginalL'auteur Steven
Hmmm, les docs, je vois, dit-il, est nécessaire et doit être défini....
Comme nous, les développeurs de Facebook sont des êtres humains. Combien de développeurs savez-vous que conserver leurs documents de 100% jusqu'à ce jour 😉 question Rhétorique, car nous le savons tous, la réponse est 0.000001% de développeurs.
Semble comme une omission majeure par les devs. En tout cas, je ne me dérange pas de garder redirect_uri en place si la fenêtre se ferme après le partage.
OriginalL'auteur DMCS