it-swarm.com.de

Das Facebook-Dialogfeld zeigt "Ein Fehler ist aufgetreten. Bitte versuchen Sie es später noch einmal."

Ich habe den folgenden HTML-Code von der Facebook-Entwicklerseite "Facebook für Websites" kopiert und APPID durch meine App-ID ersetzt. Ich habe diese Seite auf meinen Entwickler-Webserver gestellt. Wenn ich zur Seite navigiere, wird die Anmeldeschaltfläche einwandfrei dargestellt. Wenn Sie jedoch auf die Anmeldeschaltfläche klicken, wird die Facebook-Anmeldeseite mit der Meldung "Ein Fehler ist aufgetreten. Bitte versuchen Sie es später erneut." Geöffnet.

Mir muss etwas Grundlegendes fehlen. Irgendwelche Ideen?

<html>
<head>
  <title>My Facebook Login Page</title>
</head>
<body>
  <div id="fb-root"></div>
  <script>
    window.fbAsyncInit = function() {
      FB.init({
        appId      : 'APPID',
        status     : true, 
        cookie     : true,
        xfbml      : true,
        oauth      : true // removed a comma after 'true' as it generates a script error
      });
    };
    (function(d){
       var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
       js = d.createElement('script'); js.id = id; js.async = true;
       js.src = "//connect.facebook.net/en_US/all.js";
       d.getElementsByTagName('head')[0].appendChild(js);
     }(document));
  </script>
  <div class="fb-login-button">Login with Facebook</div>
</body>
</html>

Weitere Untersuchungen haben ergeben, dass es in Chrome, Firefox und Safari einwandfrei funktioniert und in IE9 fehlschlägt.

Dies ist die URL, die in Chrome verwendet wird. Sie funktioniert einwandfrei: https://www.facebook.com/login.php?api_key=255367907914&skip_api_login=1&display=popup&cancel_url=https%3A%2F%2Fs-static.ak. fbcdn.net% 2Fconnect% 2Fxd_proxy.php% 3Fversion% 3D3% 26error_reason% 3Duser_denied% 26error% 3Daccess_denied% 26error_description% 3DThe% 2Buser% 2Bdenied% 2Byour% 2Brequest.% 23cb% 3Df16t0a .eu% 253A81% 252Ff314f6d52% 26relation% 3Dopener% 26transport% 3Dpostmessage% 26frame% 3Df48d09da8 & fbconnect = 1 & next = https% 3A% 2F% 2Fwww.facebook.com% 2Fdialog% 2Fpermissions.request% 3F_path% 2F % 3Dhttps% 253A% 252F% 252Fs-static.ak.fbcdn.net% 252Fconnect% 252Fxd_proxy.php% 253Fversion% 253D3% 2523cb% 253Df16c026dc% 2526Origin% 252F % 253Dopener% 2526transport% 253Dpostmessage% 2526frame% 253Df48d09da8% 26sdk% 3Djoey% 26display% 3Dpopup% 26response_type% 3Dtoken% 252Csigned_request% 26domain% 3Dsami.test. eu% 26fbconnect% 3D1% 26from_login% 3D1% 26client_id% 3D255367907914 & rcount = 1

Dies ist die URL in IE9, die zum Fehler führt: https://www.facebook.com/dialog/oauth?api_key=255367907914&app_id=255367907914&display=popup&domain=sami.test.eu&locale=en_US&irect=test.eu 3A% 2F% 2Fs-static.ak.fbcdn.net% 2Fconnect% 2Fxd_proxy.php% 3Fversion% 3D3% 23cb% 3Df14fd3a0495986% 26Origin% 3Dhttp% 253A% 252F% 252Fsami.test.eu% 252F2d2d9bfop 6 3Dflash% 26frame% 3Df2539c36bc13734 & response_type = Token% 2Csigned_request & sdk = joey

14
Sami

Ich habe es herausgefunden, nachdem ich etwas Zeit für eine Debugsitzung hatte.

Ich habe eine gefälschte Domain verwendet, um meine App lokal zu entwickeln. Ich habe die Domain in meiner lokalen Hosts-Datei 127.0.0.1 zugeordnet (ich habe dies aus Gründen getan, die nicht mit diesem Beitrag zusammenhängen).

Es stellt sich heraus, dass IE beim Navigieren zur Facebook-Anmeldeseite 127.0.0.1 in der URL an Facebook als Rückgabe-URL übergibt. 127.0.0.1 stimmte nicht mit der URL überein, die ich für meine App in Facebook konfiguriert hatte, sodass auf der Anmeldeseite die Meldung "Ein Fehler ist aufgetreten" angezeigt wird (es wäre nett gewesen, eine richtige Fehlermeldung zu erhalten).

Andere Browser senden meine gefälschte Domain als Rückgabe-URL und haben keine Probleme.

Auf jeden Fall habe ich aufgehört, die gefälschte Domain zu verwenden und sichergestellt, dass der Domainname genau mit der Konfiguration in Facebook übereinstimmt, und jetzt ist das Problem behoben.

Vielen Dank für alle Antworten. Der Vorschlag von zerkms, die URLs zu vergleichen, führte schließlich zur Lösung.

4
Sami

Gelöst (zumindest für mich): Ich hatte keine "Website mit Facebook-Login" in meinen Facebook-App-Einstellungen konfiguriert, weil ich eine Seiten-Tab-App gemacht habe. Keine externe Website. Leider habe ich das Debuggen ohne den Facebook-Iframe um die App gemacht -> das war also der Grund.

Um den Fehler zu beheben, habe ich "Website mit Facebook-Login" ausgefüllt und in den App-Einstellungen die Eingabe "App-Domains" ausgefüllt.

Seltsam, dass dieses Problem nur in IE auftritt!

4
stoefln

stellen Sie sicher, dass Sie nicht als Entwickler/Administrator in den App-Einstellungen angemeldet sind.

2
henrikpp

Ich erhalte diesen Fehler, wenn die AppID falsch ist. Überprüfen Sie Ihre AppID.

1
Eric Cope

Ich erhalte dies, weil SSL auf meinem lokalen Server nicht konfiguriert ist. https://mywebsite.in/ . hat nicht gearbeitet. Dann habe ich in meiner App den Sandbox-Modus aktiviert und sichere URLs wie Secure Canvas URL entfernt.

Hinweis: Wenn Sie den Sandbox-Modus aktivieren, kann nur der App-Ersteller auf die Facebook-Anmeldung zugreifen. Andere Benutzer werden unter Nachricht

An error occurred. Please try again later.
1
Kumar Soneta

AKTUALISIERTE LÖSUNG: 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 (verwenden Sie für eine URL wie http://www.mycoolwebsite.com einfach mycoolwebsite.com).

New FB Settings Screenshot

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 wie local.mycoolwebsite.com verwendet wird. Gehen Sie einfach auf "Hosts bearbeiten" für Ihre Plattform (z. B. Mac/Windows), wenn Sie nicht mit der Vorgehensweise vertraut sind.

0
munsellj

Da es IE spezifisch ist, war die Antwort immer (gut 99,5% der Zeit), dass Ihr Server keine p3p-Header sendet. Unter http://www.hanselman.com/blog/TheImportanceOfP3PAndACompactPrivacyPolicy.aspx finden Sie Informationen zum Einrichten dieser Buggers, damit IE Nice spielt.

0
DMCS

ich habe das gleiche Problem, aber hier kann der Domain-Name das Problem sein. Während wir eine Facebook-Appid erstellen, müssen wir in diesem Abschnitt "Website mit Facebook-Login" die "Website-URL" korrekt angeben. Wenn wir die App lokal testen, müssen wir die URL als "http: // localhost: // {portnumber}" angeben. Wenn wir auf einem Server ausgeführt werden, müssen wir die tatsächliche URL wie "http: // mywebsite" angeben. com ".

0
tiru