Как пригласить друзей в приложение facebook через Graph API

Надеюсь, на это не ответили раньше, я искал везде, но пришел с пустыми руками. Здесь есть несколько похожих вопросов, но ни на один из них нет ответа, который я ищу:

Я хочу отправить приглашение Facebook Canvas App друзьям пользователя, выполнившего вход по OAuth, через Graph API.

Я, кажется, хожу по кругу с документацией, поскольку все указывает на диалог JS SDK (https://developers.facebook.com/docs/reference/dialogs/requests/). Конечный результат такой же, когда для приглашенных друзей материализуется уведомление с «{Пользователь} пригласил вас попробовать {Имя приложения}», но я не хочу использовать диалоговое окно JS.

Похоже, я должен искать здесь https://developers.facebook.com/docs/games/notifications однако, когда я пытаюсь отправить уведомление, я могу отправить его только пользователям, которые уже используют приложение. Этот совет, кажется, указывает на ограничение, которое я вижу, однако используемый язык сбивает с толку:

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

Кто-нибудь может помочь?


person Marc Greenstock    schedule 29.01.2014    source источник
comment
Приглашения можно отправлять только через диалоговое окно - по уважительной причине, потому что в противном случае каждый разработчик мог бы использовать его, чтобы просто спамить друзей любого пользователя, зарегистрировавшегося для их приложения (что именно вы пытаетесь делать).   -  person CBroe    schedule 29.01.2014


Ответы (1)


Оказывается, благодаря комментарию CBroe, невозможно пригласить через Graph API (хотелось бы, чтобы в документации было яснее).

Однако нет необходимости использовать диалог выбора друга. Можно создать свой собственный список друзей, используя api графика, на стороне сервера или на стороне клиента, и создать окно подтверждения с помощью JS SDK следующим образом:

$('form').on('submit', function(e) {
  e.preventDefault();
  var userIds = $(this).find('input:checkbox:checked').map(function() {
    return parseInt($(this).val(),10);
  }).get();
  FB.ui({method: 'apprequests',
    message: 'Check this app out!',
    to: userIds
  });
});
person Marc Greenstock    schedule 29.01.2014
comment
извините, если я спрошу, прошло 2-3 года, а вы знаете, что без SDK все еще невозможно пригласить? - person natario; 06.10.2016