Приглашение на Facebook от Ruby on Rails - PullRequest
9 голосов
/ 03 ноября 2011

Есть ли способ опубликовать приглашение приложения Facebook от Ruby on Rails, например путем развертывания Коала?

Кажется невозможным с первого взгляда. Есть ли какие-либо обходные пути, кроме простого размещения на стене?

Ответы [ 2 ]

23 голосов
/ 15 ноября 2011

На самом деле mikeonrails дал правильную ссылку - диалоговое окно "Запросы" - это способ приглашать друзей в ваше приложение и отправлять им другие типы запросов. Для требуется взаимодействие с пользователем (как показано на видео) для запросов, отправляемых пользователям, у которых не установлено приложение.

А теперь подробности. Вы можете отправить 2 типа запросов:

  • пользовательские запросы: их можно отправлять пользователям, у которых не установлено приложение (т. Е. Приглашение приложения). Они могут только быть отправлены с использованием Javascript SDK (или iOS или Android SDK, но я не думаю, что вы заинтересованы в них), и они делают требуют взаимодействия с пользователем. Он будет состоять из всплывающего окна, в котором будет отображаться выбор (сделанный вами) его друзей или селектора друзей и кнопка отправки, чтобы отправить им ваше сообщение.
  • запросы, генерируемые приложением: они могут только отправляться пользователям, у которых установлено приложение, но могут отправляться без взаимодействия с пользователем.

Код для пользовательских запросов выглядит следующим образом (с использованием Javascript SDK):

// this will show the pop-up dialog with a friend selector
// add a `to: 'friend_id1,friend_id2` to skip the friend selector
FB.ui({
    method: 'apprequests',
    message: 'My Great Request'
}, requestCallback);

Для запросов, генерируемых приложением, вы можете использовать Koala следующим образом:

user = Koala::Facebook::API.new(user_token)
user.put_object("user_with_app_installed_id", "apprequests", {:message => "Would you like to be friends?")

Итак, вывод состоит в том, что вы не можете приглашать друзей пользователя в свое приложение без его одобрения, но вы можете сделать его очень простым (2 клика).

Если вы хотите узнать больше:

4 голосов
/ 30 июля 2012

Вы можете использовать Facebook Chat API для отправки личных сообщений, вот пример в Ruby с использованием гема xmpp4r_facebook:

sender_chat_id = "-#{sender_uid}@chat.facebook.com"
receiver_chat_id = "-#{receiver_uid}@chat.facebook.com"
message_body = "message body"
message_subject = "message subject"

jabber_message = Jabber::Message.new(receiver_chat_id, message_body)
jabber_message.subject = message_subject

client = Jabber::Client.new(Jabber::JID.new(sender_chat_id))
client.connect
client.auth_sasl(Jabber::SASL::XFacebookPlatform.new(client,
   ENV.fetch('FACEBOOK_APP_ID'), facebook_auth.token,
   ENV.fetch('FACEBOOK_APP_SECRET')), nil)
client.send(jabber_message)
client.close

ОБНОВЛЕНИЕ: API чата Facebook устарел, поэтому больше нельзя использовать это решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...