2012-02-24 11 views
1

私はAPPとして機能するウェブページを作りたいと思っています。 これをどのようにして適切な方法で達成できますか? 今、PHP SDKを使ってAPPとしてFacebookに接続しています.getLoginUrl()を実行してから、ユーザーをこのURL、blablaにリダイレクトします。私がFacebookに入っていて、それをアプリとして使用していればうまく動作します。 問題は、セッションが古くなっていて、Facebookでこれを見ていないのですが、このリダイレクトは迷惑になります。私の意見では非常に専門的ではありません...Facebook:ウェブページがアプリとページとして動作しています

ありがとうございます!

解決しよう:
$canvaseurl = ($_SERVER['HTTP_REFERER'] == "https://apps.facebook.com/APPNAME/") ? "https://apps.facebook.com/APPNAME/": "https://MYWEBPAGE.hu/app/";

だから私は単にURLにリダイレクト:次のコードでの行の1つの変化は、それが私を取った

:ここで私の特定の問題の解決策ですユーザがどこから来たのかを示します。 かなり簡単です。 :)

+0

JavaScript SDKを試しましたか? ユーザーがFB.getLoginStatus(http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/)に接続しているかどうかを確認し、そうでなければFB.login(http ://developers.facebook.com/docs/reference/javascript/FB.login/)。このすべては、ページリフレッシュ/リダイレクトなしで発生する可能性があります。 –

+0

いいえ、それを考えなかった。 しかし、JSログインはポップアップを呼びますか?そして、それはちょうど良いことではありません。 :/とにかく、チップのおかげで! – ZeeCoder

答えて

0

ユーザーがアプリケーションを承認すると、アプリケーションページに戻る必要がない限り、iframeまたはウェブサイトのいずれかを使用することができます。私はFacebookのPHP SDKを使用して、iframeにロードされている実際の場所を入力すると、apps.facebook.com以外のページに残ります。ただし、これは使用する設定に依存します。それを試して、それがあなたを助けるかどうかを見てみてください。

+0

ありがとう、私はいくつかのことを試してみる、そして報告する! :) – ZeeCoder

+0

これは私が気にしていたときに気付いたことですが、ページがロードされている場所によってシステム変数を変更できます。私は個人的には、サブドメインとして持っているiframeアプリケーションとサイトとしての実際のドメインに1つのバージョンを使用しています。これは私がテーマを別々に保つことを可能にし、gitを使ってコアファイルを管理しますが、場所に基づいてデフォルトのテンプレートを変更するだけです。 – OpensaurusRex

+0

回答をいただき、ありがとうございました。私の解決策がより早く見つかるように、質問を編集しました。 もう一度ありがとうございます。 ^^ – ZeeCoder