Как создать диалог запросов с несколькими получателями, выбранными приложением - PullRequest
4 голосов
/ 30 августа 2011

В The Sims Social есть собственный селектор друзей.И как только вы выбираете своих друзей и нажимаете «Отправить», открывается официальный диалог запросов Facebook, в котором есть несколько друзей, и флажок «Не спрашивать перед отправкой запросов The Sims Social в ...»

Как я могу продублировать это?Я попытался отправить массив в диалог пользовательского интерфейса apprequests, но он выдает «Сообщение об ошибке: слишком много получателей».

image

Я не использую селектор друзей Facebook.Я использую свой собственный и отправляю его в диалог apprequests.Симы делают это, я просто не могу воспроизвести это.

FB.ui({
    method: 'apprequests',
    message: 'Send a gift',
    data: {},
    title: "Send a gift",
    to: uids[0] + "," + uids[1]
});

Я пробовал в поле со списком строк, "1234,4567".Я пробовал это с массивом {1234, 4567}.Но ни один не работает.Массив с одним UID работает нормально.Но несколько UID дают «Сообщение об ошибке: слишком много получателей».

Ответы [ 4 ]

2 голосов
/ 01 сентября 2011

В соответствии с документацией Facebook (что, по общему признанию, не очень хорошо), вы можете передать массив JavaScript [] в атрибуте to. Похоже, uids это уже массив, поэтому попробуйте это:

FB.ui({
    method: 'apprequests',
    message: 'Send a gift',
    data: {},
    title: "Send a gift",
    to: uids
});
1 голос
/ 31 августа 2011

Я предполагаю, что вы должны быть в белом списке Facebook, чтобы получить такого рода суперсилу. Социальные сети Sims используют те же параметры, что и вы, но у вас есть возможность указать нескольких получателей. Вы должны попросить Facebook сделать то же самое для вашего приложения.

1 голос
/ 30 августа 2011

Вы можете сделать это с помощью диалога запросов - https://developers.facebook.com/docs/reference/dialogs/requests/

Вы можете иметь до 50 получателей на запрос (некоторые ограничения для IE, как указано в документе).

Снесколько идентификаторов, вы можете указать получателей в параметре «to» как массив JavaScript, например «to: [1,2,3] '

0 голосов
/ 03 октября 2011

В соответствии с веткой Улучшения в запросе 2.0 , опубликованной 29 сентября 2011 г.

Вы можете указать массив user_ids в поле «to» запроса диалоговое окно.

  function sendRequestToManyRecipients() {
    var user_ids = document.getElementsByName("user_ids")[0].value;
    FB.ui({method: 'apprequests',
      message: 'My Great Request',
      to: user_ids,
    }, requestCallback);
  }
...