62

私は自分のhtmlページでこれを使用しました...

<script>     
window.fbAsyncInit = function() {
    // init the FB JS SDK
    FB.init({
      appId      : 'xxxxxxxxxxxxxx', // App ID from the App Dashboard
      status     : true, // check the login status upon init?
      cookie     : true, // set sessions cookies to allow your server to access the session?
      xfbml      : true  // parse XFBML tags on this page?
    });

    // Additional initialization code such as adding Event Listeners goes here
};

// Load the SDK's source Asynchronously
// Note that the debug version is being actively developed and might 
// contain some type checks that are overly strict. 
// Please report such bugs using the bugs tool.
(function(d, debug){
     var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js";
     ref.parentNode.insertBefore(js, ref);
}(document, /*debug*/ false));

 function shareOnFb(action, msg){
    FB.ui({ 
        method: action, 
        message: msg
    });
 }
</script>

FBメソッドを呼び出そうとするたびに、コンソールにこれが表示されます

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

これは私のfbアプリの設定です..ここで何かを変更する必要がありますか.当面はローカルでウェブサイトを実行しているので、追加してみました

このページで localhost/OfferDrive/ をアプリ ドメインに追加しましたが、有効なドメインではないというエラーが表示されます

fbアプリの設定

4

10 に答える 10

61

JavaScript SDK からのリクエストが正しい場所から来ていることを Facebook が認証できるようにするには、 Website with Facebook Loginの値を入力する必要があります。http://localhost/OfferDrive/

于 2013-01-23T07:06:32.600 に答える
44

Anvesh Saxena の回答への更新 (正しいが、FB アプリ インターフェイスが変更されたため古くなっています):

FB アプリの構成で、Web サイトの URL が設定された Web サイト プラットフォームを追加する必要があります。次に、私が設定したアプリ ドメインをウェブサイトのベース ドメインに追加できます (たとえば、 のような URL の場合http://www.mycoolwebsite.comは、 を使用しますmycoolwebsite.com)。

新しい FB 設定のスクリーンショット

重要:これを機能させるには、ローカル開発用にアプリの URL のサブドメインを使用する必要があります。これは、開発用コンピューターのホスト ファイルを変更して、Web サイトの存在しないサブドメイン ( local.mycoolwebsite.com. これを行う方法に慣れていない場合は、プラットフォーム (例: mac / windows) の「ホスト ファイルの編集」をグーグルで検索してください。

于 2014-04-23T01:30:45.957 に答える
18

設定 -> 詳細、「有効な OAuth リダイレクト URI」に URL を追加します。これは私にとってはうまくいきます。

于 2014-10-20T01:51:20.063 に答える
9
  • 開発者向け Facebook ダッシュボードに移動
  • My Appsドロップダウンからアプリをクリックして選択します。
    (まだアプリを作成していない場合は、[新しいアプリを追加] を選択して新しいアプリを作成します)。
  • に移動しApp Setting > Basic Tab、下部のセクションにある [プラットフォームの追加] をクリックします。
  • [Web サイト] を選択し、Web サイトを追加してSite URL(例: mywebsite.com)としてログインします。
  • ローカルでテストしている場合は、アプリのローカルホスト URL を指定することもできます。
    例えば。http://localhost:8080/myfbsampleapp
  • 変更を保存すると、Facebook 情報にアクセスできるようになります。http://localhost:8080/myfbsampleapp
于 2015-02-25T11:29:42.080 に答える
2

munsellj の更新への更新..

「Web サイト URL」オプションに localhost:3000 を追加し、[App Domains] ボックスを空白のままにするだけで、これを開発で機能させることができました。munsellj が述べたように、Web サイト プラットフォームを追加したことを確認してください。

于 2014-05-22T14:51:11.613 に答える
2
  1. 左上隅にあるアプリ名のメニュー項目から、テスト アプリを作成します。
  2. 新しいテスト アプリの設定セクションで、「http://localhost:3000」を Web サイトの URL に追加し、「localhost」をアプリ ドメインに追加します。
  3. 新しい Facebook APP Id でアプリを更新します
  4. アプリで Facebook SDK v2.2 または最新のものを使用します。
于 2015-02-26T16:59:38.110 に答える
1

これが発生するもう 1 つの理由は、間違った appId を送信した場合です。これは、開発アプリと本番アプリがある場合、開発の初期段階で発生する可能性があります。dev の appId をハードコードして prod にプッシュすると、これが表示されます。

于 2014-08-23T04:42:01.413 に答える