Предоставление параметра URL-адреса перенаправления при отправке запроса приложения пользователю Facebook

Я отправляю сгенерированный приложением запрос пользователю (уже авторизовавшему приложение), вызвав приведенную ниже функцию js

   function send_app_request(){
     FB.api( "/" + '<TO-USER-ID>' + "/apprequests", "POST", {
       message: "Custom Request for you!",
       title: "Sample title",
       access_token: "<MY-APP-ACCESS-TOKEN>"
      }, function(response) {
      alert(response.toSource());
      console.log(response);
     });
   }

Сценарий работает нормально, и когда пользователь нажимает на значок приложения (с красным уведомлением) в правом верхнем углу холста, он перенаправляется на главную страницу приложения (apps.facebook.com/MY-APP).), что тоже хорошо. Мой вопрос заключается в том, какой параметр я должен добавить в свой вызов FB.api, чтобы пользователь перенаправлялся на нужный URL-адрес моего приложения (например, apps.facebook.com/MY-APP/show-article/?article_id=5) вместо URL-адрес индекса

1 ответ

Решение

Запросы всегда направляют пользователя на холст вашего приложения.

Документация цитирования запросов:

Запросы доступны только для приложений Canvas, но не для веб-сайтов, посколькупринятие запроса направит пользователя на URL-адрес страницы Canvas приложения, отправившего запрос.

Возможным решением будет добавление нужного URL в запросе. data собственность и когда пользователь попадает на ваш URL холста сrequests_idsпередать аргументы URL, прочитать эти запросы и принять решение на основеdata свойство, куда пользователь должен быть перенаправлен.

data
Необязательно, дополнительные данные вы можете передать для отслеживания. Это будет сохранено как часть созданных объектов запроса. Максимальная длина составляет 255 символов.

Обновить:
Чтобы получить data назначенный запросом приложения / пользователя, получить его из Graph API:

https://graph.facebook.com/<REQUEST_OBJECT_ID>_<USER_ID>?access_token=APP_ACCESS_TOKEN
Другие вопросы по тегам