web-dev-qa-db-fra.com

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

Lorsque vous accédez aux pages de configuration de tous les plug-ins sociaux, ils fournissent désormais un exemple de code à l'aide d'un ID APP.

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

Un ID APP est-il maintenant requis pour le bouton Like et les autres plugins? Que se passe-t-il si un ID APP n'est pas inclus lors de l'utilisation des plugins?

J'ai vérifié le blog des développeurs Facebook et j'ai lu des informations sur le Like Button Migration . Je n'ai pas été en mesure de trouver une réponse directe à cela ni ici ni dans le FB Like Reference .

32
Joshua

Remarquer:

Ceci est une vieille information datée, les comportements officiels de Facebook sont modifiés.

Simplement, la réponse est Non , il suffit de regarder l'officiel suivant ressource Facebook .

Remarque: 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

14
SaidbakR

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.

3
Evan Mattson

Comme l'a dit semsem, la réponse simple est "non, ce n'est pas obligatoire" ... il existe des moyens de contourner le problème en ayant un appId associé au bouton "j'aime". Voici mon expérience de travail avec cela. Je ne suis pas un expert Facebook ou 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, pour ainsi dire) qui fournit un service de distribution de cours en ligne aux étudiants (clients). Les instructeurs (également clients) qui utilisent ce service pour diffuser les cours aux étudiants peuvent marquer le site comme ils le souhaitent et mapper leur domaine à leur section de notre site Web qui dessert ces cours.

Comme exemple simplifié: nous servons à partir de http://courses.example.com/instructor_name , mais nous voulons que les étudiants accèdent au contenu via http: //www.instructors-domain. com / . Tous les cours seraient des sous-répertoires de l'URL de base.

L'association du bouton "J'aime" à notre application Facebook interdit tous les manigances interdomaines. Bien qu'il existe des raisons valables de le faire, cela ne fonctionne pas où nous en sommes dans l'évolution de notre entreprise et de nos produits. Nous devions donc trouver une solution de contournement.

Nous voulions permettre aux gens "d'aimer" un cours, d'avoir le "récit" pointant vers les endroits appropriés sur le net, ainsi que d'obtenir une certaine personnalisation (par exemple "NAME aime un cours en ligne sur FBAppName "). Nous avons essentiellement atteint cet objectif. Nous avons perdu certaines fonctionnalités que nous avons jugées acceptables à ce stade de notre évolution.

Le plus court

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

Dans la page "aimée" elle-même (qui était la même page qui avait le bouton "j'aime"), j'ai utilisé les balises META 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.)

Le og: type était notre type personnalisé du formulaire 'namespace: app_custom_object_name'.

Une approche qui a échoué

Ma première tentative a été d'utiliser ce que je comprends comme la méthode préférée, l'onglet "HTML5" dans la section "Obtenir le code" de la page "bouton similaire" 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 ne fonctionne pas correspond à celui de l'application Facebook, il n'y aura pas de bouton "J'aime".

Si le domaine le fait correspond, le bouton "j'aime" apparaîtra. Cependant, il faut 3 clics pour "aimer" quelque chose. Le premier clic transforme l'icône "Thumbs-up Like" en une ancre normale avec un mot qui n'a pas de sens évident (j'ai oublié ce qu'était le mot). Le deuxième clic fera apparaître la fenêtre de connexion/autorisation pour utiliser notre application. Le troisième fait apparaître la boîte de fantaisie moderne "like" 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 incompatible avec notre comportement souhaité).

Je n'ai pas essayé les deux autres options dans la section "Get Code" de la page "like-button".

Spéculation et rumeur éclairées

Dans mes recherches à ce sujet, mon impression générale est 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, même si je n'ai rien trouvé dans les documents parlant de ce comportement "hérité". Cela a du sens pour moi avec leurs nouvelles offres et le suivi avancé qui devient disponible avec cette méthode.

J'ai vu des suggestions selon lesquelles les "j'aime" utilisés de cette manière s'apparentent à des citoyens de seconde classe ... traités comme inférieurs à certains égards. Dans ma propre expérimentation, j'ai trouvé que le comportement de l'appId 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 Facebook limités) que l'appId partiellement spécifié . (Encore une fois, je n'ai trouvé aucune documentation solide à ce sujet et je n'ai pas essayé de combler complètement les différences.)

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

3
FlyDanoFly

J'utilise simplement le code URL à l'intérieur d'une balise iframe sans appID et il 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>
3
Caio Gouveia

Donc, je viens d'essayer la méthode sємsєм, comme le 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 d'application.

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

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

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

3
Joan