不允许的网址:Facebook PHP 登录


URLs Not Allowed: Facebook PHP login

我不断收到以下错误

应用程序配置不允许给定 URL:一个或 应用程序的设置不允许更多给定的 URL。它必须 匹配网站网址或画布网址,或者域名必须是子域名 应用域之一。

当我尝试使用我的 PHP 代码片段登录用户时(见下文(。我的脸书设置如下:

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/
我在这里,这里,这里

,这里和这里读过类似的问题,他们似乎都在说同一件事:我的网站URL(Facebook登录网站(不正确。

但是我的 Openshift 网址是这样的

http://myappname-mynamespace.rhcloud.com

这就是我在Facebook网站URL字段中输入的内容。我在 Openshift 齿轮的根目录中有以下 PHP 代码 ( index.php(:

<?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>

我做错了什么?

当我输入我的Facebook应用程序的URL(http://apps.facebook.com/myappname(时,Hello World!我的登录链接会显示在我的Facebook应用程序的iframe顶部。但是,当我单击登录链接时,出现上述错误。任何帮助将不胜感激!

编辑

我在浏览器中输入了以下网址,Hello World并显示了登录链接。

http://myappname-mydomainname.rhcloud.com/
https://myappname-mydomainname.rhcloud.com/

不久前,无论出于何种原因,我都在修补Facebook的API,我不断收到同样的错误。事实证明,一些带有http的网址应该是https,而不是Facebook强调留下正确的说明。我建议将Site URL: http://myappname-mynamespace.rhcloud.com更改为Site URL: https://myappname-mynamespace.rhcloud.com.如果这没有帮助,我建议查看其他 URL 并更改它们。祝你好运