32 votes

Les boutons " J'aime " de Facebook nécessitent-ils un identifiant d'application ?

Sur les pages de configuration de tous les plugins sociaux, vous trouverez désormais des exemples de code utilisant un APP ID.

http://developers.facebook.com/docs/plugins/

Un APP ID est-il désormais nécessaire pour le bouton "J'aime" et d'autres plugins ? Que se passe-t-il si un APP ID n'est pas inclus lors de l'utilisation des plugins ?

J'ai consulté le blog des développeurs de Facebook et j'ai lu les informations sur la Migration des boutons "J'aime . Je n'ai pas été en mesure de trouver une réponse directe à cette question, que ce soit ici ou dans le site Web de la Commission européenne. Référence FB Like .

14voto

sємsєм Points 2999

Avis :

Il s'agit d'une information ancienne, les comportements officiels de Facebook ont changé.

La réponse est simple Non Il suffit de regarder le fonctionnaire suivant Ressource Facebook .

Avis : Pour le faire sans avoir besoin de l'identifiant de l'application, vous devez visiter la page ci-dessus lorsque vous êtes déconnecté de Facebook. Regardez la capture d'écran suivante.

enter image description here

3voto

FlyDanoFly Points 99

Comme l'a dit Semsem, la réponse simple est "non, ce n'est pas nécessaire"... il existe des moyens de contourner le fait d'avoir un appId associé au bouton "like". Voici mon expérience en la matière. Je ne suis pas un expert de Facebook ou d'Open Graph, donc YMMV.

Pourquoi nous avons évité d'utiliser l'appId sur le bouton :

Nous fournissons un service où nous avons un site web (le moteur, en quelque sorte) qui fournit un service de distribution de cours en ligne aux étudiants (clients). Les instructeurs (également clients) qui souhaitent utiliser notre service pour diffuser des cours aux étudiants peuvent donner au site la marque qu'ils souhaitent, et faire correspondre leur domaine à la section de notre site Web qui sert ces cours.

A titre d'exemple simplifié : nous servons de http://courses.example.com/instructor_name mais nous voulons que les étudiants accèdent au contenu par le biais de http://www.instructors-domain.com/ . Tous les cours seraient des sous-répertoires de l'URL de base.

En associant le bouton "J'aime" à notre application Facebook, nous évitons les manigances entre domaines. Bien qu'il y ait des raisons valables de le faire, cela ne fonctionne pas au stade où nous en sommes dans l'évolution de notre entreprise et de notre produit. Nous devions donc trouver une solution de rechange.

Nous voulions permettre aux gens d'"aimer" un cours, de faire pointer l'"histoire" vers les endroits appropriés sur le net, ainsi que d'obtenir une certaine personnalisation (par exemple, "NOM aime un cours"). cours en ligne on FBAppName"). Nous avons essentiellement obtenu ce résultat. Nous avons perdu quelques fonctionnalités que nous avons jugées acceptables à ce stade de notre évolution.

En bref

J'ai utilisé la version iframe du bouton "like" de Facebook, comme le dicte la page du développeur Facebook concerné (pour le lien, voir la réponse de semesm, je n'ai pas eu de réponse). J'ai pris leur extrait de code et supprimé manuellement la chaîne de requête appId dans la src de l'iframe.

Dans la page "J'aime" elle-même (qui était la même page que celle où se trouvait le bouton "J'aime"), j'ai utilisé les balises méta Open Graph y compris en spécifiant l'appId. (Ces balises ont été spécifiées : fb:app_id, og:type, og:url, og:site_name, og:title, og:description, og:image).

L'og:type était notre type personnalisé de la forme 'namespace:app_custom_object_name'.

Une approche qui a échoué

J'ai d'abord essayé d'utiliser ce que j'ai compris comme étant la méthode préférée, l'onglet "HTML5" dans la section "Obtenir du code" de la page "like-button" du développeur. J'ai essayé leur méthode en supprimant l'appId des endroits appropriés. Cette méthode s'est avérée inefficace.

Si le domaine n'a pas correspondent que dans l'application Facebook, il n'y aura pas de bouton "J'aime".

Si le domaine fait le bouton "J'aime" apparaîtra. Cependant, il faut trois clics pour "aimer" quelque chose. Le premier clic transforme l'icône "J'aime" en une ancre normale avec un mot qui n'a pas de sens évident (j'ai oublié quel était ce mot). Le deuxième clic fait apparaître la fenêtre de connexion/autorisation pour utiliser notre application. Le troisième clic fait apparaître la boîte moderne et fantaisiste "J'aime" où vous pouvez taper un commentaire. Je n'ai pas trouvé de moyen de contourner ce comportement.

Notez que lorsque j'ai spécifié l'appId dans cette approche sur le domaine approprié, cela a fonctionné comme on pouvait s'y attendre (bien que cela ne corresponde pas à notre comportement souhaité).

Je n'ai pas essayé les deux autres options dans la section "Obtenir un code" de la page du "like-button".

Spéculation et rumeur informées

Dans mes recherches à ce sujet, j'ai l'impression générale que la nécessité d'un appId est la voie de l'avenir pour Facebook. Qui sait si l'ancienne méthode sera dépréciée, probablement jamais, bien que je n'aie rien trouvé dans la documentation qui parle de ce comportement "hérité". Cela me semble logique avec leurs offres plus récentes et le suivi avancé qui devient disponible avec cette méthode.

J'ai vu des suggestions selon lesquelles les "likes" utilisés de cette manière sont assimilés à des citoyens de seconde zone... traités comme inférieurs à certains égards. Lors de mes propres expériences, j'ai constaté que le comportement de l'identifiant d'application entièrement spécifié (dans le bouton " J'aime " lui-même) était différent et plus accessible et prévisible (en termes de requêtes Open Graph et de visibilité sur mes tests limités de Facebook) que l'identifiant d'application partiellement spécifié. (Encore une fois, je n'ai pas trouvé de documentation solide à ce sujet, et je n'ai pas cherché à bien comprendre les différences).

Puisse cette information aider quelqu'un d'autre. Bonne chance !

3voto

Joan Points 108

Donc, je viens d'essayer la méthode sємsєм, comme disent les commentaires : Facebook veut que vous vous connectiez pour obtenir le code, et si vous avez une application, vous devez en choisir une.
Mais si vous ne le faites pas, il vous donne un code sans aucune référence à l'application.

Ainsi, lorsque vous obtenez un code - quelle que soit l'application choisie -, il vous suffit de supprimer le paramètre appId dans l'URL .js ( &appId=############## ), et vous obtenez (pour le dernier code HTML5, 6ème ligne) :

js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";

Le code de l'élément div ne change pas.

3voto

Caio Gouveia Points 1

J'utilise simplement le code URL dans une balise iframe sans appID et cela semble fonctionner,

Voici un exemple :

<iframe src="http://www.facebook.com/plugins/like.php?href=<%=request.original_url%>&width&layout=button_count&action=like&show_faces=false&share=false&height=35&appId=" frameBorder="0" width="150" height="25">
</iframe>

3voto

Evan Mattson Points 167

Selon FAQ sur les plugins sociaux de Facebook

  • Web : Si vous utilisez des plugins sociaux sur le web, vous n'avez pas besoin de créer une application Facebook pour intégrer un plugin social.
  • iOS/Android : si vous utilisez des plugins sociaux dans une application iOS ou Android, vous devez créer une application Facebook et la lier à l'identifiant de votre application.

Il semble que la réponse officielle soit qu'ils ne sont nécessaires que pour iOS/Android.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X