web-dev-qa-db-fra.com

Autoriser plusieurs domaines pour 1 application Facebook (comme Tumblr)

J'essaie de faire valider mon site Web avec le débogueur d'objet de Facebook et je rencontre l'erreur suivante:

Objet à l'URL ' http://www.example.com/latest ' de type 'smallteaser: teaser' n'est pas valide car le domaine 'www.example.com' n'est pas autorisé pour l'ID d'application spécifié «597566643589666».

Cette erreur est parfaitement logique car je n'ai pas autorisé l'accès spécifique à un domaine à l'application Facebook par exemple.com. Mais dois-je vraiment?

Ce que je voudrais réaliser est similaire au fonctionnement de Tumblr quand un domaine personnalisé est utilisé ... par exemple, le site Web www.davidslog.com : il comporte les balises META suivantes:

<meta property="fb:app_id" content="48119224995" />

   --> This is the Tumblr app ID


<meta property="og:url" content="http://www.davidslog.com/?og=1" />

   --> This is a custom domain which points to a Tumblr blog


<meta property="og:type" content="tumblr-feed:tumblelog" />

   --> This is a custom Tumblr object type (in namespace tumblr-feed)

Et si vous comparez ensuite ceci avec, par exemple, le domaine theartofnotwriting.tumblr.com , qui contient les métadonnées suivantes:

<meta property="fb:app_id" content="48119224995">

   --> This is the same Tumblr app ID

<meta property="og:url" content="http://theartofnotwriting.tumblr.com/?og=1">

   --> This is a different domain

<meta property="og:type" content="tumblr-feed:tumblelog">

Vous pouvez clairement voir que la même application Tumblr a plusieurs URL et que tout est validé correctement.

Alors, pourquoi cette page Tumblr est-elle validée correctement et la mienne non? Comment une application Facebook peut-elle être configurée pour permettre son utilisation sur plusieurs domaines?

36
stikkos

J'ai rencontré le même problème. J'ai pensé que Tumblr devait avoir une sorte de partenariat en place avec Facebook pour obtenir ce traitement spécial (liste blanche ip? Spécial api?) - j'ai donc contacté mon ancien représentant des partenariats chez Facebook pour lui demander des informations.

J'ai eu l'occasion de parler de cela à un ingénieur de la plate-forme de Facebook, et j'avais totalement tort. Il n'y a rien de spécial.

La raison pour laquelle tous les domaines exécutés sur Tumblr sont validés avec un seul app_id, c’est que l’outil de débogage de facebook ne vérifie que la validité de la structure de og_tag (du moins en ce qui concerne app_id). Il ne valide pas si app_id est correctement associé au domaine donné.

Vous pouvez le tester en mettant en place une page de test avec votre app_id sur deux domaines différents. Ils seront tous deux validés comme tels dans l'outil de débogage. 

En ce qui concerne l'accès aux API de Facebook, Tumblr fait tout sur son domaine. Lorsque des personnes utilisent des boutons Facebook/etc sur Tumblr, cela se fait souvent via un outil proxy tiers (tel que ShareThis) ou avec un bouton intégré non api. Je ne pouvais pas trouver un seul domaine personnalisé sous Tumblr utilisant les boutons de l'API Facebook ou app_id. Si vous le pouvez, j'aimerais le voir.

C'est la réponse que vous ne voulez pas (ou que je veux) - mais c'est ce qui se passe. App_id de Tumblr apparaît sur tous les domaines, mais ne fonctionne réellement que sur ".tumblr.com"; L'outil de débogage de Facebook ne valide pas le app_id.

17
Jonathan Vanasco

Comment une application Facebook peut-elle être configurée pour permettre son utilisation sur plusieurs domaines?

Si vous essayez d'ajouter plusieurs domaines dans les paramètres de l'application, vous obtenez une erreur qui ressemble à ceci:

example.com doit être dérivé de l'un des éléments suivants: URL du site, URL du site mobile, URL de la toile, URL de la toile sécurisée, URL de l’onglet page ou URL de la page sécurisée.

example.org doit être dérivé de l'un des éléments suivants: URL du site, URL du site mobile, URL de la toile, URL de la toile sécurisée, URL de l’onglet page ou URL de la page sécurisée.

Une solution consiste à définir "URL de l'onglet" sur une fausse URL sur example.org like so:

example.org / myfakepage

En réalité, vous n’êtes pas obligé d’utiliser l’onglet de la page. Cela vous permet simplement d'ajouter un deuxième domaine.

16
peterhry

Comment une application facebook peut-elle être configurée pour permettre son utilisation sur plusieurs domaines?

Ça ne peut pas. Les applications Facebook sont liées à un domaine (et à ses sous-domaines).

Imaginez ce qui se produirait autrement - quelqu'un pourrait ajouter de nombreux (gros) sites Web à une seule application, puis p.ex. intégrez le SDK JS sur chacun d’entre eux et identifiez un utilisateur connecté à cette application sur «la moitié de l’Internet»… et suivez ainsi leur (presque) étape par étape.

Bien sûr, Facebook ne le souhaite pas¹ - parce que ils veulent rentabiliser les données collectées sur les utilisateurs et leurs déplacements sur le Web (ils peuvent en théorie vous suivre sur chaque site Web utilisant un simple bouton comme) ils seraient stupides s'ils donnaient la même capacité à tous les développeurs d'applications.

¹ OK, c’est ma propre hypothèse.

13
CBroe

Vous ne pouvez pas ajouter plusieurs domaines, à moins que les domaines ne diffèrent que par leur extension ou leur sous-domaine.

Dans l'exemple ci-dessous, cuponeados ne diffère que par l'extension de domaine (.com contre .com.ar), de sorte que cuponeados.com.ar et cuponeados.com sont autorisés:

enter image description here

Voir cette réponse ici: Nécessité d’ajouter plusieurs domaines dans une seule application Facebook

11
brunocascio

Pour ce faire, Tumbler permet d’autoriser les sous-domaines sous leur domaine à l’aide de * .example.com. Cela permettra à tous les sous-domaines de fonctionner avec leur application (comme odisharkins.example.com, facebook.example.com). L'ajout de plusieurs domaines comporte certains aspects: consultez le Blog Facebook .

Les autres domaines doivent être dérivés de l'un des suivants: URL du site, URL du site mobile, URL du canevas, URL du canevas sécurisé, URL de l'onglet Page ou URL de l'onglet Page sécurisé.

odisharkins.tumbler.com ne serait pas un problème: cela fonctionnerait bien! 

Cependant, harkinstech.com ou odisharkins.com ne fonctionnera pas.

5
oharkins

J'ai travaillé pour moi: "L'astuce consiste à spécifier plusieurs domaines d'application et à utiliser une liste d'URL valides séparées par des virgules pour la configuration de l'URL du site Web."

https://www.sitepoint.com/community/t/single-facebook-app-with-multiple-domains/99834/4

0
Tico Fortes