2011-11-03 11 views
9

Czy jest jakiś sposób, aby opublikować zaproszenie do aplikacji Facebook z Ruby on Rails, np. wdrażając Koala?Zaproszenie do Facebooka z Ruby on Rails

Wygląda na niemożliwe na pierwszy rzut oka. Jakiekolwiek obejścia poza zwykłym umieszczeniem na ścianie?

+2

Próbowałeś czegoś takiego? http://blog.otherscreen.com/2011/06/invite-facebook-friends-to-your-rails-app-omniauth-javascript/ – mnelson

+2

gdyby było to możliwe, byłby to MAJOR generator spamu ... wyobraź sobie, że jeśli (bez interakcji z użytkownikiem) aplikacja może po prostu zdecydować o wysłaniu zaproszeń do aplikacji wszystkim znajomym użytkowników ... spam-a-thon, jeśli pytasz mnie ... TBH - Naprawdę mam nadzieję, że to niemożliwe ... – Lix

+0

Przepraszam za pesymistyczne wibracje: P – Lix

Odpowiedz

23

Właściwie mikeonrails dał poprawny odnośnik - okno Prośby jest sposób zaprosić znajomych do aplikacji i wysłać do nich inne rodzaje wniosków. To wymaga wymaga interakcji użytkownika chociaż (tak jak pokazuje wideo), dla żądań wysłanych do użytkowników, którzy nie mają zainstalowanej aplikacji.

A teraz szczegóły. Istnieją dwa typy żądań, które można wysłać:

  • Żądania generowane przez użytkowników: można je wysyłać do użytkowników, którzy nie mają zainstalowanej aplikacji (np. Zaproszenie do aplikacji). Mogą one być wysyłane tylko za pomocą zestawu Javascript SDK (lub SDK systemu iOS lub Android, ale nie wydaje mi się, że są Państwo zainteresowani tymi) i wymagają od użytkownika interakcji użytkownika do. Będzie to okienko pop-up, które wyświetli wybór (dokonany przez ciebie) jego znajomych lub selektora znajomych i przycisk wysyłania, aby wysłać im wiadomość.
  • Żądania generowane przez aplikację: te mogą być tylko wysłane do użytkowników, którzy mają zainstalowaną aplikację, ale mogą być wysyłane bez interakcji użytkownika.

Kod żądań generowanych przez użytkownika jest podobny do tego (przy użyciu 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); 

Dla żądań aplikacji generowane można użyć Koala tak:

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

Wniosek jest taki, że nie możesz zaprosić znajomych użytkownika do swojej aplikacji bez jego zgody, ale możesz to zrobić naprawdę łatwo (2 kliknięcia).

Jeśli chcesz dowiedzieć się więcej:

4

Można użyć Facebook Chat API do wysyłania wiadomości, tutaj jest przykład w Rubim przy użyciu klejnotu 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 

AKTUALIZACJA: Czat na Facebooku API zostało uznane za przestarzałe, więc nie można już korzystać z tego rozwiązania.

+0

Interesująca sugestia, dzięki! –