Tôi cần thông qua Facebook kết nối thông tin của người dùng và gửi một tin nhắn riêng cho tất cả bạn bè của anh ấy. Có khả thi không?
Tôi cần thông qua Facebook kết nối thông tin của người dùng và gửi một tin nhắn riêng cho tất cả bạn bè của anh ấy. Có khả thi không?
Câu trả lời:
Gửi tin nhắn cá nhân qua api hiện có thể.
Kích hoạt sự kiện này để gửi tin nhắn (khởi tạo đối tượng facebook nên được thực hiện trước đó).
to:user
id của facebook
function facebook_send_message(to) {
FB.ui({
app_id:'xxxxxxxx',
method: 'send',
name: "sdfds jj jjjsdj j j ",
link: 'https://apps.facebook.com/xxxxxxxaxsa',
to:to,
description:'sdf sdf sfddsfdd s d fsf s '
});
}
Tính chất
app_id Định danh
ứng dụng của bạn. Bắt buộc, nhưng được chỉ định tự động bởi hầu hết các SDK.
redirect_uri
URL để chuyển hướng đến sau khi người dùng nhấp vào các nút Gửi hoặc Hủy trên hộp thoại. Bắt buộc, nhưng được chỉ định tự động bởi hầu hết các SDK.
hiển
thị Chế độ hiển thị để hiển thị hộp thoại. Điều này được chỉ định tự động bởi hầu hết các SDK.
tới
ID người dùng hoặc tên người dùng để gửi tin nhắn. Khi hộp thoại xuất hiện, người dùng có thể chỉ định thêm người dùng, nhóm Facebook và địa chỉ email để gửi tin nhắn. Gửi nội dung đến một nhóm Facebook sẽ đăng nội dung đó lên tường của nhóm.
liên kết
(bắt buộc) Liên kết để gửi tin nhắn.
hình ảnh
Theo mặc định, hình ảnh sẽ được lấy từ liên kết được chỉ định. URL của hình ảnh để đưa vào tin nhắn. Hình ảnh sẽ được hiển thị bên cạnh liên kết.
tên Theo mặc định, một tiêu đề sẽ được lấy từ liên kết được chỉ định. Tên của liên kết, tức là văn bản hiển thị mà người dùng sẽ nhấp vào.
mô tả
Theo mặc định, một mô tả sẽ được lấy từ liên kết được chỉ định. Văn bản mô tả để hiển thị bên dưới liên kết.
Xem thêm tại đây
@VishwaKumar:
Để gửi tin nhắn với văn bản tùy chỉnh, bạn phải thêm thông số 'message' vào FB.ui
, nhưng tôi nghĩ tính năng này không được dùng nữa. Bạn không thể điền trước tin nhắn nữa. Dù thử một lần.
FB.ui({
method: 'send',
to: '1234',
message: 'A request especially for one person.',
data: 'tracking information for the user'
});
Xem liên kết này: http://fbdevwiki.com/wiki/FB.ui
Không, điều này là không thể. Để bạn có thể gửi tin nhắn dưới bất kỳ hình thức nào tới người dùng Facebook, bạn cần người dùng đó cho phép để làm như vậy.
Nếu ai đó đăng nhập vào trang web của bạn bằng Facebook Connect, họ đồng ý rõ ràng chia sẻ dữ liệu Facebook của họ với trang web của bạn và sau đó bạn có thể gửi tin nhắn cho người đó qua các kênh thông thường. Bạn cũng có thể tìm nạp danh sách bạn bè của họ. Tuy nhiên, bạn không thể gửi tin nhắn cho bạn bè.
Điều này là không thể bây giờ, nhưng có một công việc xung quanh. Bạn có thể tương tác với người dùng trong khu vực công cộng và yêu cầu họ gửi tin nhắn riêng tư cho bạn, nhưng bạn không thể gửi lại tin nhắn riêng tư, chỉ gửi tin nhắn công khai. Tất nhiên, tất cả điều này phụ thuộc vào việc người dùng có cung cấp cho bạn quyền chính xác hay không.
Nếu bạn đã cho phép truy cập vào bạn bè của một người, về mặt lý thuyết, bạn có thể đăng trên tường người dùng đó với các tham chiếu đến từng người bạn, yêu cầu họ tương tác công khai với bạn và sau đó có thể nhắn tin riêng tư cho bạn.
Kết bạn
#if authenticated
https://graph.facebook.com/me/friends
http://developers.facebook.com/docs/reference/api/user/
Đăng trong Miền Công cộng
http://developers.facebook.com/docs/reference/api/status/
Nhận Tin nhắn được gửi đến người dùng đó (nếu được cấp quyền)
http://developers.facebook.com/docs/reference/api/message/
Bạn có thể sử dụng Facebook Chat API để gửi tin nhắn riêng tư, đây là một ví dụ trong Ruby sử dụng xmpp4r_facebook
gem:
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
Một giải pháp, mặc dù không phải là một giải pháp tuyệt vời, là sử dụng địa chỉ email @ facebook.com mới. Có một số nhược điểm của điều này:
1) Không phải ai cũng có ứng dụng tin nhắn mới được kích hoạt trong tài khoản của họ.
2) Không phải ai cũng thiết lập email @ facebook.com trong ứng dụng tin nhắn của họ.
3) Không phải ai cũng chọn tên người dùng của họ (nếu họ thậm chí có tên người dùng facebook) làm địa chỉ email của họ.
Đối với ứng dụng di động, tôi đã thực hiện một giải pháp bằng cách đưa javascript vào chế độ xem hộp thoại. Có một chế độ xem web ẩn trong ứng dụng ios của tôi. Điều đó tải api hộp thoại gửi tin nhắn fb .. sau đó tôi chèn một số javascript để đặt trường "thành" và "tin nhắn" và gửi biểu mẫu .. Vì vậy, người dùng cuối đó không cần phải làm gì cả. Tin nhắn gửi đến hộp thư facebook âm thầm ...
Không có bất kỳ api đồ thị nào cho việc này, bạn cần sử dụng api chat facebook xmpp để gửi tin nhắn, tin tốt là: Tôi đã tạo ra một lớp php quá dễ sử dụng, hãy gọi một hàm và tin nhắn sẽ được gửi, mã nguồn mở, hãy kiểm tra: tin nhắn facebook api php mô tả nói rằng nó là một mã nguồn đóng nhưng sau này nó được tạo thành mã nguồn mở, hãy xem bình luận đầu tiên, bạn có thể sao chép từ github. Bây giờ nó là một mã nguồn mở.
Chủ đề này cho biết bạn không thể gửi tin nhắn riêng tư cho một nhóm bạn bè trên facebook nhưng tôi đã tìm thấy https://developers.facebook.com/docs/sharing/reference/send-dialog