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
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
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
).
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.
Paramètres -> Avancé, ajoutez l’URL à "Valid OAuth URI de redirection"). Cela fonctionne pour moi.
My Apps
et sélectionnez votre application dans le menu déroulant.App Setting > Basic Tab
puis cliquez sur "Ajouter une plate-forme" dans la section inférieure.Site URL
(par exemple. mywebsite.com
)http://localhost:8080/myfbsampleapp
http://localhost:8080/myfbsampleapp
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.
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.
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.
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
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.