私はRailsとjQueryを使用してFacebook用のゲームを書いてきました。 Facebook Javascript SDKの使用を開始して以来、アプリドメインとしてlocalhostを使用することは問題なく機能しているように見えました。ローカルとHerokuの両方でゲームをテストできました。
過去1日で、Facebookは開発者UIを大幅に更新したようです。 localhostをアプリドメインとして追加すると、次のエラーが表示されます。
これは、キャンバスURL、セキュアキャンバスURL、サイトURL、モバイルサイトURL、ページタブURLまたはセキュアページタブURLから派生する必要があります。次のドメインを確認して修正します:localhost
また、私のゲームはローカルで動作せず、Javascript SDKがユーザーをログインするとエラーが発生します。
APIエラーコード:191 APIエラーの説明:指定されたURLはアプリケーションによって所有されていませんエラーメッセージ:無効なredirect_uri:指定されたURLはアプリケーション構成で許可されていません。
Herokuapp.comは有効なアプリドメインと見なされるため、ゲームをデプロイするときにこれは発生しません。
Localhostまたは127.0.0.1を使用できなくなった場合、どのようにゲームを開発およびテストするのですか?
プロトコルは変化し続けているようで、今日、受け入れられた答えはうまくいきませんでした。他の検索者に役立つ場合、これが私にとってうまくいったことです:
1.)オプションの最初のボックスの下の中央にある[+プラットフォームの追加]をクリックし、[ウェブサイト](またはアプリに適したもの)を選択します。
2.)追加したWebサイト用に表示されるボックス:サイトURL:http://localhost:3000/
3.)その上のボックスで(設定=>基本):アプリケーションドメイン:localhost
4.)右下-[変更を保存]をクリックします
5.)アプリIDがコピーされ、コードに正しく貼り付けられていることを確認してください。 (再度必要な場合、IDはそのページの最初のボックスにあります。)
Herokuのようなリモートサーバーにデプロイせずにアプリをテストできます。トリックはetc/hosts
ファイルを次のように更新することです:
127.0.0.1 mydomain.com
次に、Facebookアプリの設定で、「[」と「]」なしで[ http://] mydomain.comと入力します
このように私のために働いた
2017年にこれをいじっているすべての人のために。インターフェースが再び変更されました。これを答えにコメントしたかったのですが、評判が十分ではありません。アプリのlocalhost URLを3つの場所にコピーする必要があります。現在、(2017年10月26日)シーケンスは次のとおりです。
1.)左メニューの[設定]をクリックします。
2.)オプションの最初のボックスの下の中央にある[+プラットフォームの追加]をクリックし、[ウェブサイト](またはアプリに適したもの)を選択します。
3.)追加したWebサイト用に表示されるボックスに、localhostサイトのURLをコピーします(f.e. http:// localhost:3000 / )
4.)「App Domain」の上のボックスに同じURLをコピーします
5.)右下-[変更を保存]をクリックします
6.)[製品]の下の左側のメニューで[Facebookログイン]をクリックします(使用できない場合は[+製品の追加]で追加します)
7.)Facebookのログイン設定になりました。同じURLを「有効なOAuthリダイレクトURI」フィールドにコピーします
これは動作するはずです。
これは間違った方法です。アプリ設定の[テスト]タブを使用して、テストアプリケーションを作成する必要があります。そして、アプリケーションに開発段階のURL(たとえばlocalhost)を入力できます。
Firebaseを使用したソリューション
これをlocalhost
、ポート3000
で機能させるために、次のことを行いました。
localhost
をApp Domainsに追加しますhttp://localhost:3000/
を追加しますここまでは、ここで提出された以前のすべての回答に従いましたが、何も機能しませんでした。
そう...
左側のメニューで、「製品の追加」を選択します
「Facebookログイン」を追加
デフォルトのドメインhttp://localhost:3000/
を持つワークフローカルーセルが表示されます。最後まで[続行]をクリックします。
製品メニューから「Facebookログイン>設定」を選択します。
Firebase OAuthリダイレクトURIを入力します(firebaseコンソールでFacebookログインを有効にすると見つかります https://console.firebase.google.com 、下の例)
できた.
LocalhostをキャンバスのURLまたはモバイルサイトのURLとして追加するだけです。これにより、アプリケーションドメイン設定にlocalhostとherokuapp.comの両方を含めることができます。次に、アプリの運用が開始されたら、削除します。
ポートでURLを使用してみてください。
http://localhost:8000/
私は同じ問題を抱えていて、今すぐこの解決策を見つけました。
これはherokuで機能しますが、localhostが機能しませんでした(私にとって)。私はそれが役立つことを願っています
1.)オプションの最初のボックスの下の中央にある[+プラットフォームの追加]をクリックし、[ウェブサイト](またはアプリに適したもの)を選択します。
2.)追加したWebサイト用に表示されるボックス:サイトURL: http://MYAPP.herokuapp.com/ (MYAPPをアプリの名前に置き換えます)
3.)その上のボックスで(設定=>基本):アプリドメイン:MYAPP.herokuapp.com(MYAPPをアプリの名前に置き換えます)
4.)右下-[変更を保存]をクリックします
私がそうであったようにこれに苦労しているかもしれないいくつかの他の人へのただのメモ。これを「テスト」アプリで動作させることができませんでした。私の実際のアプリ設定を使用して(そして単に追加
"http://localhost:3000/"
私のキャンバスURLに)は、他のみんなが提案したように機能しました。テストアプリは実際のアプリとは異なるようです。
Facebookで使用するには有効なRailsリダイレクトが必要になったため、通常は http:// localhost:30 で実行するOAuthアプリで問題が発生しましたhttps。
Httpsをローカルで使用するために、[ngrok] [1]を使用しました。これにより、トンネルを提供してhttpsを使用できます。これをする:
私にとっては、このように機能しました:
Facebookアプリダッシュボードの構成:
*「基本」タブ:
1)アプリドメインを空のままにします。
2)プラットフォームの消去。意味:ウェブサイトもキャンバスプラットフォームもありません。 (したがって、入力するサイトURLフィールドはありません)
*「詳細」タブ:
3)有効なOAuthリダイレクトURIを入力しました:
http://localhost/myappfolder/redirect.php
4)私のコードに関しては、私のc:/xampp/htdocs/localhost/myappfolder/index.phpを調べます(このファイルはloginURLを作成します):
$helper = new FacebookRedirectLoginHelper('http://localhost/myappfolder/redirect.php');
redirect.phpファイル内:
$helper = new FacebookRedirectLoginHelper('http://localhost/myappfolder/redirect.php');
そして、私はセッションを得ました!最後に!最後に自分を掛ける必要はありません:P
ローカルテストを行うには、アプリをオフにするか、Facebookアプリを開発モードにするだけです。その後、Facebookはあなただけがアプリにアクセスできるようにします