Возможно ли это сделать с помощью php sdk 5?
Моя страница работает внутри canvas, и у меня есть этот код:
$helper = $facebook->getCanvasHelper();
$signedRequest = $helper->getSignedRequest();
if ($signedRequest)
{
echo 'sidned'.$signedRequest;
die();
}
else
{
echo 'unsigned'.$signedRequest;
var_dump ($_POST);
var_dump ($_GET);
die();
}
Он всегда возвращает массив без знака {0}, массив {0}, т.е. без информации со знаком, без информации $ POST. Я хочу точно определить, нахожусь ли я на холсте в Facebook, я много гуглял и, кажется, подписанный подпись нужно постоянно публиковать. Я ошибаюсь в этом?
Я понятия не имею, почему, но в настройках холста facebook мне пришлось добавить «www» перед URL; Это сделало POST запрос правильно. Вероятно, это как-то связано с конфигурацией перенаправления резервирования, но это не входит в мою компетенцию — копаться в нем должным образом.
Сегодня это лучший способ проверить это:
$fb = new Facebook\Facebook([
'app_id' => 'app-id',
'app_secret' => 'app-secret',
'default_graph_version' => 'v2.12',
]);
$helper = $fb->getPageTabHelper();
// Obtain a signed request entity from a page tab
$helper = $fb->getPageTabHelper();
$signedRequest = $helper->getSignedRequest();
$payload = $signedRequest->getPayload();
if($payload['page']) {
// I am under a page
} else {
// I am inside facebook canvas
}