0

読んだことがありますが、似たような質問が見つからないので、ここに行きます...

構成されて正常に動作しているFacebookアプリケーションがあります。WebサイトのURLを次のように設定します。

http://adminpanel.its.a.very.long.url.mywebsite.com

これは、アプリケーション構成で「サイトURL」として構成され、正常に機能します。

ただし、このWebサイトは、DNSを使用して内部ネットワークでも使用されています。

http://adminpanel/

問題は、Facebookアプリが「redirect_uri」を許可しないことです

http://adminpanel/

そして次のように失敗します:

APIエラーコード:191 APIエラーの説明:指定されたURLはアプリケーションによって所有されていませんエラーメッセージ:無効なredirect_uri:指定されたURLはアプリケーション構成によって許可されていません。

両方を許可することは可能ですか

http://adminpanel.its.a.very.long.url.mywebsite.com

http://adminpanel/

前もって感謝します、

オリ

更新:「ページタブダイアログの追加」を使用してアプリケーションをさまざまなページに追加しているため、2つのアプリを使用できません。

私が必要としているのは、Facebookで許可されるこれらのリダイレクト(「next」パラメーターで指定)の両方です。

https://www.facebook.com/dialog/pagetab?app_id=12345678&display=popup&next=http://adminpanel/Success

https://www.facebook.com/dialog/pagetab?app_id=12345678&display=popup&next=http://adminpanel.its.a.very.long.url.mywebsite.com/Success

4

1 に答える 1

0

一般的な問題であり、簡単に修正できます。以下の私のPHPコードをチェックしてください:

if ( strstr( 'adminpanel', $_SERVER['HTTP_HOST'] ) ) {
    // this is the localhost settings

    $facebook = new Facebook(array(
        'appId'  => 'xxx',
        'secret' => 'xxx',
    ));

    $app_url = 'http://adminpanel/';
    $fb_url = 'http://apps.facebook.com/xxx/';

    //  other settings can go here too

} else {
    // this is the main / live site settings

    $facebook = new Facebook(array(
        'appId'  => 'yyy',
        'secret' => 'yyy',
    ));

    $app_url = 'http://adminpanel.its.a.very.long.url.mywebsite.com';
    $fb_url = 'http://apps.facebook.com/yyy';

    //  other settings can go here too

}

問題が解決しました!

コードは、実行されているものを確認しhost、それぞれの正しい設定をロードします。Facebook には 2 つの異なるバージョンのアプリが必要です。これにより、各アプリの URL を個別に構成できます (上記の PHP コードのように)。

別の言語を使用している場合は、 を検出しhost、条件ステートメントの関連部分に構成設定を入れることで、同じことを簡単に行うことができます。複数の (つまり 2 つ以上の) 環境を構成することもできます。

于 2012-05-23T10:41:59.047 に答える