我知道这里有很多关于此的问答,但我似乎无法理解它们,因为它们没有显示完整的代码示例,或者用于做与我想做的不同的事情。
我有一个简单的 facebook 欢迎测试选项卡。不是画布应用程序。我希望能够获取用户 ID,但必须使其提示他们访问该信息,然后才能显示在签名的请求中。
所以我正在寻找的是一个简单欢迎选项卡的代码示例。我不需要登录页面或类似的东西,因为这将在粉丝内容页面中,所以他们必须已经登录。我只想弹出那个对话框,询问他们的权限,这样我就可以获得用户 ID。
谢谢
编辑:我想补充一点,我刚刚发现了我的问题,但这并不是这个问题的真正答案。我想出了如何在不询问用户访问其个人资料的权限的情况下获取用户 ID。就像将此代码添加到页面一样简单,它在选项卡和画布应用程序中的工作方式相同。getUser() 自身返回 0,但由于用户已经登录以查看此内容,因此当 getUser() 返回 0 时,代码只需从 API 方法获取用户 ID。现在我终于想通了,这似乎很简单。
$session = $facebook->getUser();
if (!$session) {
$url = $facebook->getLoginUrl(array(
'canvas' => 1,
'fbconnect' => 0
));
echo "<script type='text/javascript'>top.location.href = '$url';</script>";
} else {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
$updated = date("l, F j, Y", strtotime($me['updated_time']));
echo "Hello " . $me['name'] . "<br />";
echo "You last updated your profile on " . $updated;
} catch (FacebookApiException $e) {
echo "Error:" . print_r($e, true);
}
}
我仍然想知道是否有办法为选项卡应用程序显示扩展权限对话框,因此很高兴看到 php sdk 的解决方案。