LocalhostでFacebookアプリケーションを開発できる方法があるかどうかを知りたかっただけです。
編集:2012年2月15日これは、localhost WebサイトでFB認証を使用する方法です。
2つ目のFacebookアプリをセットアップすると、よりスケーラブルで便利になります。 MyAppを作成する場合は、MyApp-devと呼ばれる2つ目を作成します。
Website
チェックボックスをクリックします(最近のFacebookバージョンでは、 [設定]> [基本]> [プラットフォームの追加]で-次に[ウェブサイト]を選択します)if Rails.env == 'development' || Rails.env == 'test' Rails.application.config.middleware.use OmniAuth :: Builder do provider:facebook、 'DEV_APP_ID'、 'DEV_APP_SECRET' end else #Production Rails.application.config.middleware.use OmniAuth :: Builder do provider:facebook、 'PRODUCTION_APP_ID'、 'PRODUCTION_APP_SECRET' end end
一度セットアップすると、同僚や他のマシンに追加のセットアップがないので、この方法が好きです。
もちろん、app_domainにlocalhost(「http」なし)を追加してから、site_url http://localhost
(httpを使用)を追加するだけです。
更新
Facebookは今少し物事を変更し、アプリの設定に移動し、サイトのURLにhttp: //localhost
を追加して、アプリドメインを空のままにします
ここに私の設定があり、PHP APIで問題なく動作します:
アプリドメイン
http://localhost
サイトのURL
http://localhost:8082/
注:2012年現在、Facebookは「localhost」を戻りURLとして登録できます。他のプロバイダー(Microsoftプロバイダーなど)に対しても同様の回避策が必要な場合があります。
Facebookに登録されている実際のドメイン名(my.really.own.domain.comなど)が必要な場合は、このドメインへのリクエストをローカルにマシンにリダイレクトできます。どのOSでも最も簡単なアプローチは、「hosts」ファイルを変更してドメインを127.0.0.1にマッピングすることです( http://technet.Microsoft.com/en-us/library/bb727005.aspx#EDAAを参照してください および https://serverfault.com/questions/118290/cname-record-alias-in-windows-hosts-file )。
私は通常、Fiddlerを使用してそれを行います(WindowsでローカルIISを使用)- http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp のサンプルを参照してください。
if (oSession.HostnameIs("my.really.own.domain.com")) {
oSession.Host="localhost:80";
}
アプローチのホストファイルアプローチは、着信URLがlocalhost/127.0.0.1である必要があるため、Visual Studio開発サーバーでは機能しません。 Hostをオーバーライドするために(またはIIS expressで)作業する必要がある場合- IIS7 ExpressでFiddlerを使用
Facebookは、FBML Facebookアプリケーションの「localhost」コールバックURLを許可しなくなりました
新しい開発センターを使用すると、より簡単になりました。
1)アプリのドメインを空白のままにします。
2)[プラットフォームの追加]をクリックします
3)サイトのURLは、ローカルホストの完全パスと同じにする必要があります。
4)変更を保存
回避策を発見しました: http://localtunnel.com を使用して、ローカルマシンにアクセスできます。リンクが一時ドメインを指すように、アプリコード/ htmlで使用されているURLを(一時的に)変更する必要がありますが、少なくともFacebookはマシンに到達できます。
アプリの基本設定( https://developers.facebook.com/apps )で、[設定]-> [基本]->アプリとFacebookとの統合方法を選択...
「サイトURL:」と「モバイルサイトURL:」を使用して、それぞれ本番URLと開発URLを保持します。両方のサイトが認証を許可されます。認証にFacebookを使用しているだけなので、モバイルサイトのリダイレクト機能は必要ありません。通常、認証のテスト中に「モバイルサイトのURL:」を「localhost:12345」サイトに変更し、完了したら通常の設定に戻します。
がある !私のソリューションは、アプリを作成するときに機能しますが、WebサイトでFacebook認証を使用する必要があります。以下のソリューションは、FBページに統合されたアプリを作成する場合は必要ありません。
問題は、アプリのfacebook設定ページに「localhost」をドメインとして配置できないことです。セキュリティ上の理由
OSX/Linux etc/hostsのHostファイルに移動し、次の行を追加する必要があります:127.0.0.1 dev.yourdomain.com
配置するドメイン。 1つの間違いは、この行を追加することです:localhost dev.yourdomain.com(少なくともosx Snow Leopardでは動作しません)。
次に、DNSキャッシュをクリアする必要があります。 OSXの場合:ターミナルでdscacheutil -flushcacheと入力します。最後に、オンラインFacebook開発者Webサイトに戻り、アプリの構成ページで、ドメイン「dev.yourdomain.com」を追加できます。
Mamp、Easyphpなどのプログラムを使用する場合は、Apacheのポートが80であることを確認してください。
このソリューションには、hostsファイルも含まれているため、Windowsで動作するはずです。それにもかかわらず、私が覚えている限り、Windows 7はこのファイルを使用しませんが、Windowsにホストファイルを使用させる方法を見つけた場合、このトリックは機能するはずです。
これを試して - -
https://www.facebook.com/help/community/question/?id=589302607826562
1-[アプリ]をクリックし、アプリを選択します。
2-画面の左側にある[設定]ボタンをクリックします。
3-[基本設定]で、設定の構成の下にある[プラットフォームの追加]ボタンをクリックします。
4-プラットフォームダイアログで[Webサイト]を選択します。
5-URLを入力します(localhostはここで機能します)。
6-App Domainsテキスト入力で、URL内のドメインと一致するドメインを追加します。
7-設定を保存します。
Visual Studio開発Webサーバーを使用してアプリケーションを開発できるはずです:新しいFaceBookアプリケーションを開始します: http://www.facebook.com/developers/ 。次に、サイトのURLとキャンバスのURLの設定を、Webサイトの実行中のインスタンスに設定します。例:http:// localhost:1062 /
FaceBookを開始する際に役立つリンクがいくつかあります。
お役に立てれば。
これは、HTTPS要件の後でも2018年6月に機能します。テストアプリはhttpsを必要としないようです:
テストアプリを作成します: https://developers.facebook.com/docs/apps/test-apps/
次に、テストアプリ内で、このビデオの簡単な手順に従います。 https://www.youtube.com/watch?v=7DuRvf7Jtkg
アプリを次のように登録したとします:
app.domain.com
追加するだけで/ etc/hostsファイルを変更する必要があります
127.0.0.1 dev01.app.domain.com
次に、Apache構成を変更します
ServerName dev01.app.domain.com
apacheを再起動します。
一部の呼び出しでXMLパラメーターとして使用するために、URLを変数に配置する必要があります。
<fb:login-button registration-url="http://<?=$URL?>/register" />
トップ投票の答えについてコメントするのに十分な信用を持っていませんが、少なくとも私のRails環境(4を実行)では、Rails sはhttp://localhost:3000
であり、http://www.localhost:3000
ではありません。 http://localhost:3000
に変更したときは、問題なく機能しました。ホストファイルを編集する必要はありません。
app domain : localhost
site URL : http://localhost:4440/
新しいUIで私のために働いた。
私のソリューションはローカルホストで正常に動作します.....サイトURLでhttp://localhost/
を使用し、アプリドメインでlocalhost/folder_name
を使用します。残りはすべて同じです。 )