web-dev-qa-db-fra.com

L'URL donnée n'est pas autorisée par la configuration de l'application

Je l'ai utilisé dans ma page html ...

<script>     
window.fbAsyncInit = function() {
    // init the FB JS SDK
    FB.init({
      appId      : 'xxxxxxxxxxxxxx', // App ID from the App Dashboard
      status     : true, // check the login status upon init?
      cookie     : true, // set sessions cookies to allow your server to access the session?
      xfbml      : true  // parse XFBML tags on this page?
    });

    // Additional initialization code such as adding Event Listeners goes here
};

// Load the SDK's source Asynchronously
// Note that the debug version is being actively developed and might 
// contain some type checks that are overly strict. 
// Please report such bugs using the bugs tool.
(function(d, debug){
     var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js";
     ref.parentNode.insertBefore(js, ref);
}(document, /*debug*/ false));

 function shareOnFb(action, msg){
    FB.ui({ 
        method: action, 
        message: msg
    });
 }
</script>

quand chaque fois que j'essaie d'appeler une méthode FB, il le dit dans ma console

L'URL donnée n'est pas autorisée par la configuration de l'application. Une ou plusieurs des URL fournies ne sont pas autorisées par les paramètres de l'application. Il doit correspondre à l'URL du site Web ou à l'URL de la toile, ou le domaine doit être un sous-domaine de l'un des domaines de l'application.

c’est mon réglage de l’application fb. Dois-je changer quelque chose ici, j’exécute mon site localement pour le moment, j’ai donc essayé d’ajouter

localhost/OfferDrive/pour le domaine d'application sur cette page mais il indique une erreur indiquant qu'il ne s'agit pas d'un domaine valide

fb app settings

61
1Mayur

Vous devez renseigner la valeur Site Web avec connexion Facebook avec la valeur http://localhost/OfferDrive/ pour permettre à Facebook d’authentifier que les demandes du SDK JavaScript proviennent du bon endroit

60
Anvesh Saxena

Mise à jour de la réponse d'Anvesh Saxena (correct mais obsolète car l'interface FB App a été modifiée):

Dans la configuration de votre application FB, vous devez ajouter une plate-forme de site Web avec le jeu d'URL de votre site Web. Vous pouvez ensuite ajouter les domaines d’application que j’ai définis au domaine de base de notre site Web (par exemple, pour une URL telle que http://www.mycoolwebsite.com, utilisez simplement mycoolwebsite.com).

New FB Settings Screenshot

IMPORTANT: Pour que cela fonctionne, vous devez utiliser un sous-domaine de l'URL de votre application pour votre développement local. Vous pouvez le faire facilement en modifiant votre fichier hosts sur votre ordinateur de développement pour utiliser un sous-domaine inexistant de votre site Web, tel que local.mycoolwebsite.com. Vous n'avez qu'à "modifier le fichier d'hôtes" sur Google pour votre plate-forme (par exemple, mac/windows) si vous ne savez pas comment faire.

44
munsellj

Paramètres -> Avancé, ajoutez l’URL à "Valid OAuth URI de redirection"). Cela fonctionne pour moi.

18
Daniel Steigerwald
  • Allez à tableau de bord Facebook pour les développeurs
  • Cliquez sur My Apps et sélectionnez votre application dans le menu déroulant.
    (Si vous n'avez pas encore créé d'application, sélectionnez "Ajouter une nouvelle application" pour créer une nouvelle application).
  • Aller à App Setting > Basic Tab puis cliquez sur "Ajouter une plate-forme" dans la section inférieure.
  • Sélectionnez "Site Web" et ajoutez le site Web pour vous connecter en tant que Site URL(par exemple. mywebsite.com)
  • Si vous testez en local, vous pouvez simplement donner l'URL localhost de votre application.
    par exemple. http://localhost:8080/myfbsampleapp
  • Enregistrez les modifications et vous pouvez maintenant accéder aux informations Facebook à partir de http://localhost:8080/myfbsampleapp
9
Lucky
  1. À partir de l'élément de menu du nom de votre application situé dans le coin supérieur gauche, créez une application de test.
  2. Dans la section des paramètres de la nouvelle application de test: ajoutez " http: // localhost: 30 " à l'URL du site Web et ajoutez "localhost" aux domaines de l'application.
  3. Mettez à jour votre application avec le nouvel identifiant d'application Facebook
  4. Utilisez Facebook sdk v2.2 ou quelle que soit la dernière version de votre application.
2
user215097

Une mise à jour de la mise à jour de munsellj ..

Je travaille dans le développement en ajoutant simplement localhost: 3000 à l'option 'URL du site Web' et en laissant vide la zone Domaines des applications. Comme Munsellj l'a mentionné, assurez-vous que vous avez ajouté une plate-forme de site Web.

2
MarcB

Une autre raison pour laquelle cela peut arriver est si vous envoyez la mauvaise appId. Cela peut arriver au début du développement si vous avez une application de développement et une application de production. Si vous codez en dur l'appId pour dev et Push to prod, cela s'affichera.

1
Craig

Notez que localhost est une chaîne spéciale que FB autorise ici. Si vous n'avez pas configuré votre environnement de débogage sous localhost, vous devrez le repousser sous ce nom, autant que je sache.

1
pfrank

Comment autoriser localhost (ou 0.0.0.0 ou autre) en tant que oauth url de rappel) est manquant. Voici l'explication. Comment puis-je ajouter localhost: 3000 à Application Facebook pour le développement

1
light24bulbs

Parfois, cette erreur se produit pour les anciens sdk javascript. Si vous enregistrez localement le fichier javascript. Le mettre à jour. Je préfère le charger du serveur facebook tout le temps.

1
Md. Yusuf