0

这个讨论之后,我无法弄清楚如何从会话中获取用户 ID,或者如何从新的 SDK 4 for PHP 中的签名请求创建会话?我正在尝试将我的应用程序从旧 SDK 迁移到新 SDK,但我的代码无法正常运行。我正在尝试在我是管理员的页面选项卡上获取用户 ID。我试图从 FacebookPageTabHelper 获取会话,但没有成功。

我的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
4

1 回答 1

3

Facebook API 不再向您提供此信息(如果您使用用户访问令牌)。您应该通过查看他的帖子或他的评论来获取用户的ID,即使这样您也需要猜测他是公共用户,否则将无法正常工作。

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

于 2014-12-20T07:23:01.007 回答