0

私は周りを見回したので、これが再投稿である場合は、正しい方向に送ってください。ただし、これを実行すると、ランダムな文字が1つ表示され続けます。私は何が間違っているのですか?ユーザーIDを出力したいだけです。

 <?php require 'facebook.php';
  $facebook = new Facebook( array( 
   'appId'   => "XXXXXXXXXXXXXXXXXXX",
   'secret'  => "XXXXXXXXXXXXXXXXXXXXXXX",
   'cookie'  => true
 ) );

 try {
  $me = $facebook->api('/me');
 } catch ( FacebookApiException $e ) {
  error_log( $e );
  }


 $signed_request = $_REQUEST["signed_request"];
 $user_id = $signed_request['user_id'];
 echo $user_id;


 $signed_request = $facebook->getSignedRequest();
 $liked = $signed_request['page']['liked'];

 ?>

また、$ signed_request['page']['liked']は問題なく機能します。

4

1 に答える 1

1

それはあなたのコードからのコピー/貼り付けですか?もしそうなら

 $signed_request = $_REQUEST["signed_request"];
 $user_id = $signed_request['user_id'];
 echo $user_id;

動作しません。これは正しいsigned_requestではなく、応答を復号化していないため読み取りできません(PHP SDKでは、「getSignedRequest()」関数で復号化が自動的に行われます)。

お持ちのページコードは正しいので、現在のユーザーIDを取得するには、ユーザーがアプリの認証ダイアログを受け入れたと仮定して、コードは次のようになります。

 $signed_request = $facebook->getSignedRequest();
 $user_id = $signed_request['user_id'];
 echo $user_id
于 2012-08-16T17:33:01.937 に答える