Мы разработали приложение для Facebook в виде вкладки с использованием FBML.Теперь Facebook отказался от fbml, и мы конвертируем наше приложение в iframe.Для этого пользователь может создать страницу FB и добавить приложение на свою страницу в Facebook.Мы берем идентификатор страницы Facebook пользователя и регистрируем в БД этот идентификатор страницы и показываем данные для этого конкретного пользователя.В приложении на вкладке FBML мы получаем идентификатор страницы facebook в качестве запроса ($ REQUEST ['page_id']).Кажется, это больше не работает.
Когда мы конвертируем приложение в приложение на вкладке IFRAME, FB не предоставляет идентификатор страницы.Мы не используем GRAPH API, и перед просмотром приложения проводится какая-либо аутентификация.Я прочитал на форуме, что Facebook подписал запрос, мы получим идентификатор страницы и использовали следующий код, но не получили никаких данных.
$sgrequest = $_REQUEST['signed_request'];
$requestVal = parse_signed_request($sgrequest,$secret);
print_r($requestVal);
$_REQUEST['signed_request']['app_data']
function parse_signed_request($signed_request, $secret) {
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
// decode the data
$sig = base64_url_decode($encoded_sig);
$data = json_decode(base64_url_decode($payload), true);
if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
error_log('Unknown algorithm. Expected HMAC-SHA256');
return null;
}
// check sig
$expected_sig = hash_hmac('vctly987', $payload, $secret, $raw = true);
if ($sig !== $expected_sig) {
error_log('Bad Signed JSON signature!');
return null;
}
return $data;
}
функция base64_url_decode ($ input){return base64_decode (strtr ($ input, '-_', '+ /'));}
Есть ли другой способ получить идентификатор страницы фан-страницы через javascript или любым другим способом?