Ich habe dies in meiner HTML-Seite verwendet ...
<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>
wenn ich versuche, eine FB-Methode aufzurufen, wird dies in meiner Konsole angezeigt
Die angegebene URL ist in der Anwendungskonfiguration nicht zulässig .: Eine oder mehrere der angegebenen URLs sind in den App-Einstellungen nicht zulässig. Es muss mit der Website-URL oder der Canvas-URL übereinstimmen, oder die Domain muss eine Unterdomäne einer der Apps-Domains sein.
dies ist meine FB-App-Einstellung. Muss ich hier etwas ändern, um meine Website vorübergehend lokal zu betreiben? Deshalb habe ich versucht, sie hinzuzufügen
localhost/OfferDrive/zur App-Domain auf dieser Seite, aber es wird der Fehler angezeigt, dass es sich nicht um eine gültige Domain handelt
Sie müssen den Wert für Website mit Facebook-Login mit dem Wert http://localhost/OfferDrive/
füllen, damit sich Facebook authentifizieren kann dass die Anforderungen von JavaScript SDK von der richtigen Stelle kommen
Update auf Anvesh Saxenas Antwort (korrekt, aber veraltet, da sich die Oberfläche der FB-App geändert hat):
In Ihrer FB App-Konfiguration müssen Sie eine Website-Plattform mit der festgelegten URL Ihrer Website hinzufügen. Anschließend können Sie App-Domains hinzufügen, die ich der Basisdomain unserer Website zugewiesen habe (z. B. für eine URL wie http://www.mycoolwebsite.com
, benutz einfach mycoolwebsite.com
).
WICHTIG: Damit dies funktioniert, müssen Sie eine Unterdomäne der URL Ihrer App für Ihre lokale Entwicklung verwenden. Sie können dies auf einfache Weise tun, indem Sie Ihre Hosts-Datei auf Ihrem Entwicklungscomputer so ändern, dass eine nicht vorhandene Unterdomäne Ihrer Website verwendet wird, z. B. local.mycoolwebsite.com
. Gehen Sie einfach auf Google 'Hosts-Datei bearbeiten' für Ihre Plattform (z. B. Mac/Windows), wenn Sie nicht mit der Vorgehensweise vertraut sind.
Einstellungen -> Erweitert, URL zu "Valid OAuth Redirect URIs" hinzufügen. Dies funktioniert bei mir.
My Apps
Und wählen Sie Ihre App aus der Dropdown-Liste aus.App Setting > Basic Tab
Und klicken Sie dann im unteren Bereich auf "Add Platform".Site URL
Anzumelden (z. B. mywebsite.com
).http://localhost:8080/myfbsampleapp
http://localhost:8080/myfbsampleapp
Auf die Facebook-Informationen zugreifen.Ein Update zu munselljs Update ..
Ich habe dies in der Entwicklung zum Laufen gebracht, indem ich localhost: 3000 zur Option "Website-URL" hinzugefügt und das Feld "App-Domains" leer gelassen habe. Stellen Sie, wie bereits erwähnt, sicher, dass Sie eine Website-Plattform hinzugefügt haben.
Ein weiterer Grund dafür kann sein, dass Sie die falsche AppId gesendet haben. Dies kann in der frühen Entwicklung vorkommen, wenn Sie eine Entwicklungs-App und eine Produktions-App haben. Wenn Sie die AppId für dev und Push to prod fest programmieren, wird dies angezeigt.
Beachten Sie, dass localhost eine spezielle Zeichenfolge ist, die der FB hier zulässt. Wenn Sie Ihre Debug-Umgebung nicht unter localhost konfiguriert haben, müssen Sie sie, soweit ich das beurteilen kann, unter diesen Namen schieben.
In den anderen Antworten fehlt, wie localhost (oder 0.0.0.0 oder was auch immer) als oauth callback url. Hier ist die Erklärung. Wie kann ich localhost hinzufügen: 3000 to Facebook App für die Entwicklung
Manchmal tritt dieser Fehler bei alten Javascript sdk auf. Wenn Sie lokal Javascript-Datei speichern. Aktualisiere es. Ich ziehe es vor, es die ganze Zeit vom Facebook-Server zu laden.