Facebook PHP SDK $ facebook-> getSignedRequest()获取用户ID和名称。 (页面标签)

时间:2013-02-18 06:29:37

标签: php facebook facebook-php-sdk

Facebook页面标签问题

好吧,我不知道怎么说,我想在facebook的页面标签上检索用户的id和用户名。

enter image description here

然后,当您单击箭头指向的应用程序时,它应该如下所示。

enter image description here

我不明白为什么 Page Admin和Page Like是1 它应该输出用户的ID吗?为什么 UserID为0 ?我登录了,我已经喜欢这个页面了

然后我想要检索用户名和用户ID“给用户”谁将使用此页面标签应用程序。

这是我的代码。

if(!@include("../sdk/facebook.php")) throw new Exception("Failed to include 'facebook.php'");
$app_id = "xxx"; // Your application id
$app_secret = "xxx"; // Your application secret
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
$signedrequest = $facebook->getSignedRequest();
$fbp_id = $signedrequest["page"]["id"]; //Facebook Fan Page ID
echo $is_admin = $signedrequest["page"]["admin"]; echo " Page Admin <br>";
echo $is_liked = $signedrequest["page"]["liked"]; echo " Page Liked<br>";
echo $uid=$facebook->getUser(); echo " User ID<br>";

我可以使用 $ fbp_id 来检索粉丝页面ID,我无法检索用户的ID 它只输出0 。我怎样才能找回它?对此有何解决方案?

如果你帮助我会很高兴。

1 个答案:

答案 0 :(得分:1)

首先,您必须获得用户的许可才能获取他/她的数据。有两种方法可以做到最好的方式

$loginUrl = $facebook->getLoginUrl(
 array(
 'redirect_uri' => $your_page_tab_url,
 'scope'  => 'email'
      )

获取此URL后,检查user_id是否为0,然后将其重定向到

<script type='text/javascript'>top.location.href = '$loginUrl';</script>

但是还有一件事是新的PHP sdk所以你必须更新你拥有的那个