К сожалению, это невозможно ( ссылка ):
Как и в случае с страницей холста, вы не получите всю пользовательскую информацию, доступную для вашего приложения в signed_request
пока пользователь не авторизует ваше приложение.
Итак, вам нужно, чтобы пользователь сначала авторизовал ваше приложение, это можно найти здесь :
<?php
$app_id = YOUR_APP_ID;
$canvas_page = YOUR_CANVAS_PAGE_URL;
$auth_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($canvas_page);
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
if (empty($data["user_id"])) {
echo("<script> top.location.href='" . $auth_url . "'</script>");
} else {
echo ("Welcome User: " . $data["user_id"]);
}
?>
После авторизации приложения и получения идентификатора пользователяЯ полагаю, этот процесс тривиален.