Ich halte die folgende Fehlermeldung erhaltenURLs nicht erlaubt: Facebook PHP anmelden
Gegeben URL nicht von der Anwendungskonfiguration .: Ein oder mehrere der angegebenen URLs ist nicht erlaubt durch die Einstellungen der App erlaubt ist. Er muss mit der URL der Website oder der Canvas-URL übereinstimmen, oder die Domain muss eine Subdomain einer der App-Domains sein.
Wenn ich versuche, einen Benutzer mit meinem PHP-Code-Snippet (siehe unten) einzuloggen. Meine Facebook-Einstellungen sind wie folgt:
App Domains: myappname-mynamespace.rhcloud.com www.myappname-mynamespace.rhcloud.com
Site URL: http://myappname-mynamespace.rhcloud.com/
Canvas Page: http://apps.facebook.com/myappname
Canvas URL: http://myappname-mynamespace.rhcloud.com/
Secure Canvas URL: https://myappname-mynamespace.rhcloud.com/
I here ähnliche Fragen gelesen habe, here, here, here und here und sie alle die gleiche Sache zu sagen scheinen: meine Site URL (Website mit Facebook Login) nicht korrekt ist .
Aber meine Openshift URL ist wie folgt
http://myappname-mynamespace.rhcloud.com
so ist das, was ich in Facebook-Site-URL-Feld setzen. Ich habe den folgenden PHP-Code (index.php
) in der Wurzel meiner Openshift Gang:
<?php
require 'php-sdk/facebook.php';
$facebook = new Facebook(array(
'appId' => 'xxxx',
'secret' => 'xxxx'
));
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Facebook PHP</title>
</head>
<body>
<h1>Hello World!</h1>
<?php
// get user from facebook object
$user = $facebook->getUser();
if ($user): // check for existing user id
echo '<p>User ID: ', $user, '</p>';
else: // user doesn't exist
$loginUrl = $facebook->getLoginUrl(array(
'display' => 'popup',
'redirect_uri' => 'http://apps.facebook.com/myappname'
));
echo '<p><a href="', $loginUrl, '" target="_top">login</a></p>';
endif;
?>
</body>
</html>
Was mache ich falsch?
Wenn ich die URL meiner Facebook-App (http://apps.facebook.com/myappname
), Hello World!
eingeben und mein Login-Link oben auf dem iframe meiner Facebook-App angezeigt wird. Wenn ich jedoch auf den Login-Link klicke, erhalte ich den oben genannten Fehler. Jede Hilfe wird sehr geschätzt!
EDIT
Ich trat in die folgenden URLs in meinem Browser und Hello World
und der Login-Link wurden beide angezeigt.
http://myappname-mydomainname.rhcloud.com/
https://myappname-mydomainname.rhcloud.com/
Alles sieht gut aus. Aber nur ein Schuss in die Dunkelheit: Wenn ich Ihre Konfiguration mit meiner vergleichen, würde ich sagen, dass Sie am Ende von "http: // myappname-mynamespace.rhcloud.com" wie für die Site-URL einen Schrägstrich hinzufügen müssen. –
+1 Vielen Dank für Ihre Antwort @ StéphaneBruckert Ich habe meine Site-URL überprüft und habe einen Schrägstrich 'http: // fbtest-projectkohana.rhcloud.com /'. Ich werde meine Frage korrigieren. Ich habe das '/' nachdem ich diese Frage geschrieben habe, aber es funktioniert immer noch nicht. Dies ist die zweite Test-App, die ich geschrieben habe und die diesen Fehler verursacht hat. Bezieht sich dieses Problem auf meine Verwendung von Openshift? Openshift verwendet freigegebene SSL-Zertifikate für kostenlose Konten wie meine. – Anthony
Einige Zeit passiert, dass was auch immer Sie Änderungen in den FB-Einstellungen vornehmen, sich nach einigen Stunden auswirken wird. Überprüfe dies, sobald du Änderungen vorgenommen hast. – Chandresh