7

次のエラーが発生し続けます

指定された URL は、アプリケーションの構成で許可されていません。: 指定された URL の 1 つ以上が、アプリの設定で許可されていません。ウェブサイトの URL またはキャンバスの URL と一致するか、ドメインがアプリのドメインのいずれかのサブドメインである必要があります。

PHP コード スニペットを使用してユーザーをログインしようとすると (以下を参照)。私のFacebookの設定は次のとおりです。

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 ログインの Web サイト) が正しくありません。

しかし、私のOpenshift URLはこのようなものです

http://myappname-mynamespace.rhcloud.com

それを Facebook サイトの URL フィールドに入力しました。Openshiftギアindex.phpのルートに次の 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 の上に表示されます。ただし、ログインリンクをクリックすると、上記のエラーが発生します。どんな支援も大歓迎です!

編集

ブラウザに次の URL を入力するHello Worldと、ログイン リンクが両方とも表示されました。

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

1 に答える 1