2011-07-13 8 views
0

私はiframeアプリケーションを備えたfacebookページを持っています。Facebookの問題:許可なくiframeにユーザーIDを取得できない

http://www.facebook.com/pepsi と同じように動作したいと思っています。次のユーザーの旅行で。

  1. ユーザーは自分のページにアプリのタブを表示します。
  2. ユーザーには、同様のボタンをクリックするように促された部分的なコンテンツが表示されます。
  3. ユーザーはlikeをクリックして完全なコンテンツを表示します。

これはすべて、ログインまたは認証する必要のないクライアントで行われます。

私の問題は、facebookが私にユーザーIDを渡していないことです。

私は、ユーザIDが何もあるかどうかを確認するために var_dump($_REQUEST);var_dump($fb->fb_params); を試してみました。

私はsigned_request

のためのPHP SDK 3.0またはOAuthの作品を思ういけない誰かが、私は、ログインせずにFacebookのからユーザIDを取得する方法を教えてもらえますか?

おかげ

答えて

5

ユーザがアプリケーションのアクセス許可を付与しない限り、署名要求はユーザーIDが含まれていません。 signed requestのドキュメントを参照してください。

ユーザーがあなたのアプリケーションを承認していない場合、アプリケーションは に上記の情報のサブセットのみが渡されます。

これはuserオブジェクトが含まれて(Facebookは、具体的であるか、権限のないユーザーのために渡されていませんどのようなデータ言及した場合、それは素敵なことだが - 。私はこれを理解しようとしているビットのために壁に頭を打ちました)

言われているように、あなたはページを "好き嫌いをする"ためにユーザーに権限を与える必要はありません。

+0

ありがとう、私はそれを見て、私は同じゲートのためのuser_idが必要だと思った。現時点では頭が酷い。あなたが送ったリンクを見ます。 –

+0

ちょうど私のようなゲートが働いています。最初のステップは、それが同じようなゲート(Cheers @Arms)と呼ばれていたことを知っていた。 これを設定する方法については、このチュートリアルhttp://www.chilipepperdesign.com/2011/02/15/reveal-fan-gate-like-gate-facebook-iframe-tab-tutorial-with-phpを参照してください。 私が間違っていたこと - 私のアプリの設定では、私は私のキャンバスのURLとタブのURLがindex.phpを指していた。これは私が空のsigned_requestを見ていた理由のようです。 上記のチュートリアルのとおりに修正するには、tab.phpという新しいphpファイルを作成し、タブ設定に入れました。私は今、likesのようなsigned_requestパラメータを取得しています。 乾杯 –

関連する問題