使用Facebook PHP SDK 4获取用户ID

时间:2014-12-20 07:14:42

标签: php facebook facebook-sdk-4.0

关注this discussion我无法弄清楚如何从会话中获取getUserId或如何在新的SDK 4 for PHP中从已签名的请求创建会话?我正在尝试将我的应用程序从旧SDK迁移到新SDK,但我的代码运行不正常。 我正在尝试在页面选项卡上获取用户ID,我是管理员。我试图从FacebookPageTabHelper获取getSession没有运气。

我的PHP代码:

session_start();
require_once '../api/facebook/autoload.php';

use Facebook\FacebookSession;
use Facebook\FacebookPageTabHelper;

FacebookSession::setDefaultApplication(APP_ID, APP_SECRET);
$pageHelper = new FacebookPageTabHelper();

$page = $pageHelper->getPageId();
$admin = $pageHelper->isAdmin();
$fan = $pageHelper->isLiked();
$appdata = $pageHelper->getSignedRequest()->payload['app_data'];
$session = $pageHelper->getSession();
$user = $session->getUserId(); // always empty

1 个答案:

答案 0 :(得分:3)

Facebook API不再向您提供此信息(如果您使用用户访问令牌)。你应该通过查看他的帖子或他的评论来获得用户的ID,甚至通过这种方式你需要猜测他是一个公共用户,否则它将无法工作。

如果您可以使用应用程序令牌登录,它应该可以正常工作,但是通过Facebook确认您的应用程序并不容易。