web-dev-qa-db-ja.com

ローカルホストでのFacebook開発

LocalhostでFacebookアプリケーションを開発できる方法があるかどうかを知りたかっただけです。

170
Abhishek

編集:2012年2月15日これは、localhost WebサイトでFB認証を使用する方法です。

2つ目のFacebookアプリをセットアップすると、よりスケーラブルで便利になります。 MyAppを作成する場合は、MyApp-devと呼ばれる2つ目を作成します。

  • https://developers.facebook.com/apps で新しいアプリを作成します
  • (2012年2月15日新規作成)「アプリケーションとFacebookとの統合方法の選択」の下にあるWebsiteチェックボックスをクリックします(最近のFacebookバージョンでは、 [設定]> [基本]> [プラットフォームの追加]で-次に[ウェブサイト]を選択します)
  • サイトURLフィールド(アプリドメインフィールドではなく)を-に設定します http://www.localhost:30(このアドレスはRailsのRuby用です。必要に応じて変更してください)

enter image description here

  • アプリケーション初期化子に、環境を検出するコードを挿入します
    • サンプルRails 3コード
       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 
      

一度セットアップすると、同僚や他のマシンに追加のセットアップがないので、この方法が好きです。

243
Eric Hu

もちろん、app_domainにlocalhost(「http」なし)を追加してから、site_url http://localhost(httpを使用)を追加するだけです。

更新

Facebookは今少し物事を変更し、アプリの設定に移動し、サイトのURLにhttp: //localhostを追加して、アプリドメインを空のままにします

25
stalin

ここに私の設定があり、PHP AP​​Iで問題なく動作します:

アプリドメイン

   http://localhost

サイトのURL

   http://localhost:8082/
20
tradmed

注: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を使用

19
Alexei Levenkov

Facebookは、FBML Facebookアプリケーションの「localhost」コールバックURLを許可しなくなりました

9
Sudantha

新しい開発センターを使用すると、より簡単になりました。

1)アプリのドメインを空白のままにします。
2)[プラットフォームの追加]をクリックします
3)サイトのURLは、ローカルホストの完全パスと同じにする必要があります。
4)変更を保存

9
JSV

回避策を発見しました: http://localtunnel.com を使用して、ローカルマシンにアクセスできます。リンクが一時ドメインを指すように、アプリコード/ htmlで使用されているURLを(一時的に)変更する必要がありますが、少なくともFacebookはマシンに到達できます。

8
M.G.Palmer

アプリの基本設定( https://developers.facebook.com/apps )で、[設定]-> [基本]->アプリとFacebookとの統合方法を選択...

「サイトURL:」と「モバイルサイトURL:」を使用して、それぞれ本番URLと開発URLを保持します。両方のサイトが認証を許可されます。認証にFacebookを使用しているだけなので、モバイルサイトのリダイレクト機能は必要ありません。通常、認証のテスト中に「モバイルサイトのURL:」を「localhost:12345」サイトに変更し、完了したら通常の設定に戻します。

7
Carter Medlin

がある !私のソリューションは、アプリを作成するときに機能しますが、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にホストファイルを使用させる方法を見つけた場合、このトリックは機能するはずです。

5
MartinL

Facebook製品の「facebook login」を選択し、Client OAuth Login、「Web OAuth Login」および「Embedded Browser OAuth Login」を有効にしてから、 localhost urlを指定します enter image description here

5

これを試して - -

https://www.facebook.com/help/community/question/?id=589302607826562

1-[アプリ]をクリックし、アプリを選択します。

2-画面の左側にある[設定]ボタンをクリックします。

3-[基本設定]で、設定の構成の下にある[プラットフォームの追加]ボタンをクリックします。

4-プラットフォームダイアログで[Webサイト]を選択します。

5-URLを入力します(localhostはここで機能します)。

6-App Domainsテキスト入力で、URL内のドメインと一致するドメインを追加します。

7-設定を保存します。

3
Snm Maurya

Visual Studio開発Webサーバーを使用してアプリケーションを開発できるはずです:新しいFaceBookアプリケーションを開始します: http://www.facebook.com/developers/ 。次に、サイトのURLとキャンバスのURLの設定を、Webサイトの実行中のインスタンスに設定します。例:http:// localhost:1062 /

FaceBookを開始する際に役立つリンクがいくつかあります。

  1. http://thinkdiff.net/facebook/graph-api-iframe-base-facebook-application-development/
  2. http://nagbaba.blogspot.com/2010/05/experiencing-facebook-javascript-sdk.html
  3. http://apps.facebook.com/thinkdiffdemo/

お役に立てれば。

3
Vasile Laur

これは、HTTPS要件の後でも2018年6月に機能します。テストアプリはhttpsを必要としないようです:

テストアプリを作成します: https://developers.facebook.com/docs/apps/test-apps/

次に、テストアプリ内で、このビデオの簡単な手順に従います。 https://www.youtube.com/watch?v=7DuRvf7Jtkg

2
Jared

アプリを次のように登録したとします:

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に変更したときは、問題なく機能しました。ホストファイルを編集する必要はありません。

2

app domain : localhost

site URL : http://localhost:4440/

新しいUIで私のために働いた。

1
sftsz

これを試して:

https://ngrok.com/

私のために働いた...

1
Surender Lohia

Facebookの[ログイン]タブの[設定]をクリックして、アプリのダッシュボードに簡単にアクセスし、[HTTPを強制する]を選択し、[いいえ、設定を保存します enter image description here

0
Jerome Blacq

私のソリューションはローカルホストで正常に動作します.....サイトURLでhttp://localhost/を使用し、アプリドメインでlocalhost/folder_nameを使用します。残りはすべて同じです。 )

0
fab

最新の更新:開発中にURLをテストする場合、URLを指定する必要はありません。フィールドを空のままにすることができます。アプリが開発モードであることを確認してください。ステータスをライブからオフにしない場合。

サイトのURL、アプリドメイン、または有効なリダイレクトoauth uriを提供する必要はありません。

enter image description here

アプリケーションはlocalhost:3000で正常に実行されます。アプリケーションが本番モードになっているときにライブするhttpsアドレスを指定するだけです。
オプション2は、本番モードでサンプルアプリケーションを使用できるURLまたはHeroku Webサイトを提供します。

enter image description here

0
vidur punj