У меня очень трудное время с использованием Facebook Tab/App, что я пытаюсь создать с очень специфическими потребностями:на одной странице «Воротами» Facebook Tab/App с разрешениями
- Это должно быть содержащихся в одном файле - index.php (вспомогательные файлы, такие как .js, .css и другие .php-файлы, как есть, являются точными).
- Он должен иметь копии страницы, которая требует разрешения на «выбирают» в (т.е. нажав кнопку «Go»)
- Это должно быть сделано в PHP SDK
Теперь, я использовал Javascript SDK для этого раньше и его «довольно легко». Я пытаюсь сделать это в PHP и бросать в мою систему некоторые гаечные ключи.
Это моя основная установка:
В index.php, я включаю global.php в верхней части файла, который обрабатывает весь facebook SDK включает в себя и:
$facebook = new Facebook(array(
'appId' => APP_ID,
'secret' => APP_SECRET,
));
Я тогда «затвор», что загружается на основании подписанного запроса ($signed_request = $facebook->getSignedRequest();
signed_request['app_data']
). Если для подписанного запроса «app_data» установлено значение «flash_load», проверяются разрешения. Если разрешения проходят, загружается флеш-файл, в противном случае запрашиваются разрешения. Если app_data! = 'Flash_load' загружается всплывающая страница.
общий поток страницы:
Page load
If(app_data == flash_load)
check permissions
if permissions
render flash
else
request permissions
else
render splash page
страница выплеска имеет кнопку с надписью "Go", которая связывает непосредственно на странице вкладку (то есть: http://www.facebook.com/ {{{PAGE_NAME}}} v = приложение _ {{ {APP_ID}}} & app_data = flash_load). У меня также есть тот же самый URL установлен как веб-сайт с URL Facebook Войти SITE @https://developers.facebook.com/apps/ {{{APP_ID}}}
Все это работает отлично и хорошо с явным исключением этого потока:
Если пользователь не имеет права:
- они перейдите на вкладку
- они продиктованы заставке
- они нажмите кнопку "Go", который перенаправляет на http://www.facebook.com/ {{{PAGE_NAME}}} V = app _ {{{APP_ID}}} & App_Data = flash_load
- страница (index.php) перезагружает с подписанным запросом App_Data = flash_load
- Права предоставляются
- index.php перезагружается на страницу SPLASH.
Как сделать так, чтобы для ИСХОДНОГО перезагрузки ПОСЛЕ разрешений ПРЕДОСТАВЛЕНИЯ загружается файл флэш, а не всплеск?
Я попытался добавить state
к redirect_uri
, но не смогли захватить значение с помощью $_GET
, $_REQUEST
или $facebook->getSignedRequest();
Я также попытался использовать $_SERVER
, чтобы захватить URL и разобрать, что, но что не ссылается на URL-адрес Facebook.
Боковое примечание: каждая последующая загрузка после первой перезагрузки после предоставления разрешений должна загружать всплеск как обычно.