Ich versuche mein Projekt in Facebook zu integrieren. Ich mache zuerst kleine Schritte und versuche nur, mich anzumelden, eine Facebook-Sitzung zu erhalten und einige Benutzerdaten abzurufen. Ich entwickle es lokal, daher sind meine Facebook-Anwendungseinstellungen:
site URL: http://127.0.0.1:8888/mySite/
Die Canvas-URL ist dieselbe wie oben. Ich habe keine Site-Domain angegeben.
Wenn ich jedoch auf die Anmeldeschaltfläche klicke, wird folgende Fehlermeldung angezeigt:
API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: redirect_uri is not owned by the application.
Im Moment habe ich keinen serverseitigen Code für Weiterleitungen usw. geschrieben. Ich habe lediglich das JavaScript SDK hinzugefügt, das auf dem Tutorial in Facebook für Websites basiert .
Was habe ich falsch gemacht? Es hat offensichtlich etwas mit meinen Facebook-Anwendungseinstellungen zu tun, aber ich kann nicht sehen, was!
quelle
Antworten:
UPDATE:
So beantworten Sie den API-Fehlercode: 191
Der Code
redirect_uri
sollte gleich (oder relativ) zur Site-URL sein.Tipp: Verwenden Sie Basis-URLs anstelle vollständiger URLs, die auf bestimmte Seiten verweisen.
Nicht empfohlen: Zum Beispiel, wenn Sie verwenden ,
www.mydomain.com/fb/test.html
wie Sie Ihre Website - URL ist undwww.mydomain.com/fb/secondPage.html
wieredirect_uri
diese gibt Ihnen die 191 Fehler.EMPFOHLEN: Stellen Sie stattdessen Ihre Site-URL auf eine Basis-URL wie
www.mydomain.com/
OR einwww.mydomain.com/fb/
.Ich habe heute die Facebook Python-Beispielanwendung durchgesehen und war schockiert , dass klar war, dass Sie sie
http://localhost:8080/
als Site-URL verwenden können, wenn Sie lokal entwickeln:Während ich war sicher , dass Sie das nicht tun, basierend auf meiner eigenen Erfahrung (sehr alte Test obwohl) scheint es , dass Sie tatsächlich CAN Ihre Facebook - Anwendung lokal testen!
Also nahm ich eine alte Anwendung von mir und bearbeitete ihren Namen, Site-URL und Canvas-URL: Site-URL:
http://localhost:80/fblocal/
Ich habe das neueste Facebook PHP-SDK heruntergeladen und in meinen
xampp/htdocs/fblocal/
Ordner geworfen.Aber ich habe den gleichen Fehler wie bei Ihnen! Ich habe festgestellt, dass XAMPP eine automatische Umleitung zu macht,
http://localhost/fblocal/
daher habe ich die Einstellung auf einfach geänderthttp://localhost/fblocal/
und der Fehler wurde behoben, ABER ich musste die Anwendung (aus den Datenschutzeinstellungen ) entfernen und meine Anwendung neu installieren. Hier sind die Ergebnisse:Danach bat
publish_stream
ich um Erlaubnis und konnte in meinem Profil veröffentlichen (mit dem PHP-SDK):Ergebnisse:
quelle
Für mich war es eine fehlende App-Domain. Gehen Sie in die App und stellen Sie sicher, dass Sie das Stammverzeichnis Ihrer Site als App-Domain eingerichtet haben. Siehe Screenshot.
quelle
Dies liegt nur an einem URL-Fehler.
Die angegebene Website-URL sollte korrekt sein.
Ich habe die URL der Website als
http://localhost:3000/
und die Domain als localhost erwähnt, aber in meinem Browser wurde sie ausgeführthttp://0.0.0.0:3000/
.Als ich Server lief
localhost:3000
, löste es das Problem.Wie bereits erwähnt, wird die Site-URL als localhost Facebook auf dieselbe umgeleitet. Wenn wir sie ausführen
0.0.0.0:3000
, wird der Fehler "Die angegebene URL ist in der Anwendungskonfiguration nicht zulässig" angezeigt.quelle
Ich hatte auch das gleiche Problem, als ich die Facebook-Authentifizierungsmethode verwendete. Aber ich behebe dieses Problem mit den folgenden Änderungen in Facebook api (
Apps >> My App >> Basic
).Dann gab ich diese AppId und App Secret auf meiner Webseite.
Wenn Sie also auf die Schaltfläche "Anmelden" klicken, werden Sie nach Zugriffsberechtigungen gefragt und anschließend umgeleitet, um eine URL anzugeben ( Website mit Facebook-Anmeldung ).
quelle
Hatte das gleiche Problem:
Als ich redirect_uri von der Devloper-Seite auf die Live-Seite geändert habe, ist 191 Fehler aufgetreten.
Also habe ich die $ params gelöscht:
Nach der App-Anfrage leitet FB nun zur App-URL selbst weiter, zB: my.domain.com
Was ich jetzt mache, ist in index.php meiner App einzuchecken, ob ich in FB iframe bin oder nicht. Wenn nicht, leite ich zur Live-FB-Seite weiter, z.
quelle
Ich habe auch festgestellt, dass selbst wenn Sie Ihre Website unter Abschnitt - Website mit Facebook-Login -> Website-URL als z. B. http://example.com angeben, Ihr Abschnitt "App-Domänen" jedoch leer ist und Sie die Website als www.example öffnen. com erhalten Sie auch diesen Fehler. Um dies im Abschnitt "App-Domänen" zu vermeiden, schreiben Sie example.com, damit Subdomains wie www.example.com, Something.example.com usw.
quelle
Gehen Sie auf der Facebook-App-Seite zur Registerkarte "Basis". Finden Sie die Option "Website mit Facebook-Login".
Sie finden die Site-URL: Geben Sie dort die vollständige URL ein (z. B. http://Mywebsite.com/MyLogin.aspx ). Dies ist die URL, die Sie für den Anruf verwenden können, z. B. Wenn die APP-ID 123456789 lautet
https://graph.facebook.com/oauth/authorize?client_id=123456789&redirect_uri=http://Mywebsite/MyLogin.aspx&scope=publish_actions
quelle
Etwas, das ich hinzufügen möchte, da dies die erste Frage von Fehler 191 bei Google ist:
Wenn Sie für eine signierte Anfrage zu Facebook anstatt zu Ihrer eigenen Website umleiten, tritt dieser Fehler möglicherweise auf, wenn der Benutzer sicher surfen kann und Ihre App ohne SSL zu Facebook umleitet.
quelle
Vor Ort arbeiten ... Ich konnte die Feed-API nicht zum Laufen bringen, aber die Share-API funktionierte ziemlich sofort ohne Probleme.
quelle
Ich habe dies behoben, indem ich die Weiterleitungs-URL an die
FacebookRedirectLoginHelper::getAccessToken()
Funktion in meiner Rückruffunktion übergeben habe:Wechsel von
zu
Ich entwickle mich auf einer Vagabund-Box und es scheint
FacebookRedirectLoginHelper::getCurrentUrl()
Probleme zu geben, eine gültige URL zu generieren.quelle
Für mich sind es die gültigen OAuth Redirect-URIs in den Facebook-Anmeldeeinstellungen. Der Fehler 191 ist verschwunden, sobald ich den korrekten Umleitungs-URI aktualisiert habe.
quelle