Facebook SDK: отправка запроса из приложения Page Tab - PullRequest
2 голосов
/ 01 апреля 2012

Я могу отправлять запросы друзьям с помощью «Селектора запросов на добавление в список друзей» в приложении на вкладке страницы, ссылка на который выглядит следующим образом:

https://www.facebook.com/<my_page_name>/app_<my_app_id>

Мой друг получает мой запрос и нажимает «Принять». Он переходит на реальную ссылку приложения Facebook, которая:

https://apps.facebook.com/<my_app_name>/?fb_source=request&request_ids=<an_request_id>

, который больше не находится внутри вкладки страницы. Как я могу перенаправить пользователя на 1-ю ссылку вместо 2-й, когда необходимо сохранить request_ids? Я просто делаю пересылку header('Location: url');?

p.s. Временная шкала уже используется.

1 Ответ

4 голосов
/ 01 апреля 2012

Да, вы должны перенаправить на страницу URL, потому что запросы всегда перенаправляют на URL-адрес холста.

Для передачи идентификаторов запроса вы можете использовать поле app_data. Поэтому вместо перенаправления на https://www.facebook.com/<my_page_name>/app_<my_app_id> вы перенаправляете на https://www.facebook.com/<my_page_name>/app_<my_app_id>?app_data=requestids. Здесь requesttids являются фактическими значениями (список через запятую, который получает холст).

app_data доступно вашему приложению со вкладкой страницы как часть signed_request, которое оно получает.

Из документов :

Кроме того, ваше приложение также получит строковый параметр app_data как часть подписанного запроса, если в исходной строке запроса в URL-адресе, на который загружена вкладка, был установлен параметр app_data. Для приведенной выше ссылки «Купить сейчас» это может выглядеть следующим образом: «https://www.facebook.com/YourPage?v=app_1234567890&app_data=any_string_here". Вы можете использовать это для настройки содержимого, которое вы отображаете, если вы управляете генерацией ссылки.

...