Следующий это обсуждение я не могу понять, как получитьUserId из сеанса или как создать сеанс из подписанного запроса в новом SDK 4 для PHP? Я пытаюсь перенести свои приложения из старого SDK в новый, и мой код работает плохо.
Я пытаюсь получить идентификатор пользователя на вкладке страницы, где я являюсь администратором. Я попытался получить сессию от 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
Facebook API больше не предоставляет вам эту информацию (если вы используете токен доступа пользователя). Вы должны получить идентификатор пользователя, просматривая его сообщения или комментарии, и даже таким образом вы должны догадаться, что он является публичным пользователем, иначе это не будет работать.
Если вы можете войти с помощью токена приложения, оно должно работать, но нелегко получить подтверждение вашего приложения через Facebook.
Других решений пока нет …