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 回答