2012-03-31 5 views
4

Facebook Connectを使って認証などのウェブサイトを開発しようとしています。しかし、FBConnectでは一般的に、ウェブサイトのURLは、あなたがアプリを登録したものと同じものである必要があります。私は私は私のローカルマシン上Facebook APIの統合:別のURLでテストしていますか?

localhost:9000 

だから、すべてのFacebookのスタッフ休憩でサイトをテストしてい

www.example.com 

でサイトを実行しているもののので、これは、問題です。現在、私は実際のサーバーでテストを行うことでこれを回避しています。だから私はものをやった後、自分のコードをテストするたびに、私は離れて、すべての小さな変更のために行うのは迷惑であることから、明らかに現実の人々が実際にウェブサイトに到達しているときに問題になるだろう

// local machine 
git commit -a 
git push origin master 

// remote server 
git pull origin master 

を行います私は人々がそれを使用している間、それを何度も壊さずに、開発を続けるつもりです&。

このようなことをする良い方法はありますか?他の人(FBConnectを使用したことのある他のすべての人)が以前にこの問題に遭遇したと確信しています。テスト中にwww.example.comlocalhostに送信するようにDNSを騙すことは可能ですか?Facebook Javascriptは引き続き動作するように騙されていますか?

答えて

2

本当の答えは、自分のローカルホストにないステージングサーバーを設定し、FBポインティングでステージングアプリケーションを作成することですそのステージングURLに転送します。

私はこの目的のために完全に別のサーバーを使いたいので、誤ったループなどのために私のプロダクションアプリケーションがクラッシュすることを心配することなく自由に開発して実験することができます。 - または - サブドメイン(staging.example.com)を作成し、アプリケーションのディレクトリ構造と同じ別のルートフォルダにコードのクローンを貼り付けます。

はい、サイトのステージング版または本番版を見ているかどうかを判断し、それに応じて適切なFBキーを呼び出すには、小さな条件付きコードが必要です。

3

これを回避する方法の1つは、システムのhosts fileを編集して、ドメインをlocalhostに指定することです。あなたの/etc/hostsファイル(Windowsの場合または%SystemRoot%\system32\drivers\etc\hosts)にこのような行を追加します。

127.0.0.1  www.yourdomain.com 

別のアプローチは、開発中のバージョンあなたのためのFacebook上の第二のアプリを作成することであり、そのバージョンのURLとしてlocalhostを使用しています。配備時にアプリケーションIDと機密情報をプロダクションバージョンに更新することを忘れないでください:)

+0

私たちはこの目的のためにMacでVirtualHostXを使用します。よく働く。 http://clickontyler.com/virtualhostx/ – evanmcd

0

私のコードを開発(localhost)から本番用に移動しようとすると、この問題が発生しました。キャンバスのURLとしてlocalhostを使用し、安全なキャンバスのURL用のプロダクションドメインを使用することができました。私ができるように

関連する問題