Предоставление параметра 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-адрес индекса.


person serpent403    schedule 30.04.2012    source источник


Ответы (1)


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

Ссылаясь на документацию по запросам:

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

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

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

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

https://graph.facebook.com/<REQUEST_OBJECT_ID>_<USER_ID>?access_token=APP_ACCESS_TOKEN
person Juicy Scripter    schedule 30.04.2012
comment
Я также добавил параметр «данные» (данные: ‹REDIRECT-URL›) вместе с «сообщением», «заголовком» и «токеном доступа», но когда я нажимаю на всплывающее уведомление, все, что я вижу, - это request_ids передаются, а не "данные". Как мне использовать эти «данные»? - person serpent403; 01.05.2012