2009-12-10 6 views
12

Facebookのストリームと統合するためのJavaScript関数をいくつか作成しようとしています。しかし、ライブサーバー上で直接開発して、Facebookがwww.mydomain.com/xd_receiver.htmに配置するように私に依頼したxd_receiver.htmファイルにアクセスできるようにするには、それらはライブサーバー上で直接開発する場合にのみ機能するように見えます。しかし皆さんは、ライブサーバ上で開発しないことが本当に重要であることに、おそらくすべて同意することができます。localhostでFacebook Connect Javascript APIを開発する

  1. がライブサーバー上xd_receiver.htmを配置し、APIキーが私のライブにxd_receiver.htmを探すためにFacebookのサーバーを言うだろうことを期待して、私のdevのサーバー上で私のスクリプトを実行している:ここで

    は、私がこれまで試したものですサーバー... no luck

  2. Facebookで2つのAPIキーにサインアップする:127.0.0.1を指すdevキーと私のライブサイトを指し示すライブキー。ここでの理論は、xd_receiver.htmがローカルに必要な場合は、127.0.0.1 ... no luck

誰かがこれを行う方法を考え出しましたか?私たちのFacebook Appsの開発は、まったくdevのサンドボックスなしで生きるとは期待できません。

VBでASP.NETを使用していますが、純粋にJavascriptを使用したいと考えている背景情報があります。

+0

私はほぼ同じことをやろうとしていますが、ASP MVCを使用しています。それがあなたのためにうまくなったことを願っています!これまで私をかなり夢中にさせている:P – MedicineMan

答えて

10

ローカルのxd_receiver.htmファイルを使用することは間違いありません。私はFacebookのアプリ開発者で、数多くの仲間がいます。

あなたは上記#2の正解に最も近いです。それを行う方法は、あなたのアプリの2つのバージョンを作成することです。私が "MyApp"を作っていたら、 "myapp"と "myapp-dev"の2つのキャンバスページURLと "www.myapp.com"と "192.168.1.1"というキャンバスコールバックURLがあるかもしれません。それぞれが独自のAPIキーなどを持つ別のFacebookアプリです。

apps.facebook.com/myappは私のライブサーバーに、apps.facebook.com/myapp-devは私のローカル開発に行きます機械。あなたはもちろん、Facebookが開発マシンに確実にアクセスできるようにする必要があります。

しかし、そこからうまくいくはずです。あなたはxd_receiver.htmファイルの異なるバージョンは必要ありません。ファイルの内容は常にすべてのアプリケーションで同じです。あなたのFB.XdComm.Server.init("/xd_receiver.htm");行が正しいファイルを指している限り、それはうまくいくはずです。

私はAPIキーとパスなどを設定ファイルで管理し、アプリケーションごとに1つの設定ファイルを持っています。これにより、正しいキーとパスをアプリケーションページに簡単に出力できます。

開発アプリをサンドボックスモードにしておき、ローカルマシン上ですべての作業を行うことができます。

0

最も簡単な方法は、プロダクションコールバックURLのlocalhostアドレスが返されるようにローカルDNSを設定することです。ウィンドウでは、\ windows \ system32 \ drivers \ etc \ hosts "127.0.0.1 your_production_xd_receiver_callback_url"に次の項目を入力することで簡単に達成できます。もちろん、ポート80でサーバを稼働させる必要があります。Windowsでは、セキュリティコンセンサスがないので簡単な作業です:) 1024未満のポートであるため、UNIXシステムで設定する必要があります。 このソリューションはテストされています。

関連する問題