2011-11-03 38 views
9

Có cách nào để đăng lời mời ứng dụng Facebook từ Ruby on Rails hay không, ví dụ: bằng cách triển khai Koala?Lời mời ứng dụng Facebook từ Ruby on Rails

Dường như không thể nhìn thấy được. Bất kỳ cách giải quyết khác hơn là chỉ đơn giản là gửi lên tường?

+2

Bạn đã thử một cái gì đó như thế này? http://blog.otherscreen.com/2011/06/invite-facebook-friends-to-your-rails-app-omniauth-javascript/ – mnelson

+2

nếu điều này có thể nó sẽ là một trình tạo spam CHÍNH ... hãy tưởng tượng nếu (với sự tương tác của người dùng) một ứng dụng có thể quyết định gửi lời mời ứng dụng đến tất cả bạn bè của người dùng ... spam-a-thon nếu u hỏi tôi ... TBH - Tôi thực sự hy vọng điều này là không thể ... – Lix

+0

lời xin lỗi vì những cảm xúc bi quan: P – Lix

Trả lời

23

Thực tế, mikeonrails đã cung cấp liên kết chính xác - hộp thoại Yêu cầu là cách cách mời bạn bè vào ứng dụng của bạn và gửi cho họ các loại yêu cầu khác. Nó hiện yêu cầu tương tác người dùng mặc dù (giống như video hiển thị), đối với các yêu cầu được gửi đến người dùng không cài đặt ứng dụng.

Và bây giờ để biết chi tiết. Có 2 loại yêu cầu mà bạn có thể gửi:

  • yêu cầu do người dùng tạo: những yêu cầu này có thể được gửi cho người dùng chưa cài đặt ứng dụng (ví dụ: lời mời ứng dụng). Họ có thể chỉ được gửi bằng SDK Javascript (hoặc SDK iOS hoặc Android nhưng tôi không nghĩ bạn quan tâm đến những người đó) và họ làm yêu cầu tương tác của người dùng. Nó sẽ bao gồm một cửa sổ bật lên sẽ hiển thị một lựa chọn (do bạn thực hiện) của bạn bè hoặc bộ chọn bạn bè và nút gửi để gửi cho họ tin nhắn của bạn.
  • yêu cầu được tạo ứng dụng: những yêu cầu này chỉ có thể gửi cho người dùng đã cài đặt ứng dụng nhưng có thể được gửi mà không cần tương tác của người dùng.

Mã cho yêu cầu người dùng tạo ra là như thế này (bằng cách sử dụng 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); 

Đối với các yêu cầu ứng dụng tạo ra bạn có thể sử dụng Koala như thế này:

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

Vì vậy, kết luận là bạn không thể mời bạn bè của người dùng vào ứng dụng của bạn mà không có sự chấp thuận của mình, nhưng bạn có thể làm cho nó thực sự đơn giản cho anh ta để làm điều đó (2 lần nhấp chuột).

Nếu bạn muốn đọc thêm:

4

Bạn có thể sử dụng Facebook chat API để gửi tin nhắn cá nhân, đây là một ví dụ trong Ruby sử dụng đá quý 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 

CẬP NHẬT: API trò chuyện trên Facebook đã không được chấp nhận nên không thể sử dụng giải pháp này nữa.

+0

Đề xuất thú vị, cảm ơn! –

Các vấn đề liên quan