ฉันต้องการรับข้อมูลผู้ใช้เชื่อมต่อ Facebook และส่งข้อความส่วนตัวถึงเพื่อนทุกคนของเขา เป็นไปได้ไหม?
ฉันต้องการรับข้อมูลผู้ใช้เชื่อมต่อ Facebook และส่งข้อความส่วนตัวถึงเพื่อนทุกคนของเขา เป็นไปได้ไหม?
คำตอบ:
ขณะนี้สามารถส่งข้อความส่วนตัวผ่าน API ได้แล้ว
เริ่มต้นเหตุการณ์นี้เพื่อส่งข้อความ (ควรเริ่มต้นวัตถุ facebook ก่อน)
to:user
id ของ 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 '
});
}
คุณสมบัติ
app_id
ตัวระบุแอปพลิเคชันของคุณ จำเป็น แต่ระบุโดยอัตโนมัติโดย SDK ส่วนใหญ่
redirect_uri
URL ที่จะเปลี่ยนเส้นทางไปหลังจากที่ผู้ใช้คลิกปุ่มส่งหรือยกเลิกในกล่องโต้ตอบ จำเป็น แต่ระบุโดยอัตโนมัติโดย SDK ส่วนใหญ่
แสดง
โหมดการแสดงผลที่จะแสดงกล่องโต้ตอบ SDK ส่วนใหญ่จะระบุโดยอัตโนมัติ
ไป
ยัง ID ผู้ใช้หรือชื่อผู้ใช้ที่จะส่งข้อความ เมื่อกล่องโต้ตอบปรากฏขึ้นผู้ใช้สามารถระบุผู้ใช้เพิ่มเติมกลุ่ม Facebook และที่อยู่อีเมลที่จะส่งข้อความได้ การส่งเนื้อหาไปยังกลุ่ม Facebook จะโพสต์ไปที่วอลล์ของกลุ่ม
ลิงค์
(จำเป็น) ลิงค์ที่จะส่งในข้อความ
ภาพ
โดยค่าเริ่มต้นภาพที่จะได้รับจากการเชื่อมโยงที่ระบุไว้ URL ของรูปภาพที่จะรวมไว้ในข้อความ รูปภาพจะแสดงถัดจากลิงค์
ชื่อโดยค่าเริ่มต้นชื่อเรื่องจะถูกนำมาจากลิงค์ที่ระบุ ชื่อของลิงค์ ได้แก่ ข้อความที่จะแสดงที่ผู้ใช้จะคลิก
คำอธิบาย
ตามค่าเริ่มต้นคำอธิบายจะถูกนำมาจากลิงค์ที่ระบุ ข้อความบรรยายที่จะแสดงด้านล่างลิงก์
ดูเพิ่มเติมที่นี่
@VishwaKumar:
สำหรับการส่งข้อความด้วยข้อความที่กำหนดเองคุณต้องเพิ่มพารามิเตอร์ "message" FB.ui
แต่ฉันคิดว่าฟีเจอร์นี้เลิกใช้แล้ว คุณไม่สามารถกรอกข้อความล่วงหน้าได้อีกต่อไป แม้ว่าจะลองสักครั้ง
FB.ui({
method: 'send',
to: '1234',
message: 'A request especially for one person.',
data: 'tracking information for the user'
});
ดูลิงค์นี้: http://fbdevwiki.com/wiki/FB.ui
ไม่เป็นไปไม่ได้ ในการส่งข้อความทุกประเภทไปยังผู้ใช้ Facebook คุณต้องได้รับอนุญาตจากผู้ใช้รายนั้นจึงจะทำได้
หากมีคนล็อกอินเข้าสู่ไซต์ของคุณด้วย Facebook Connect แสดงว่าพวกเขายินยอมอย่างชัดเจนที่จะแบ่งปันข้อมูล Facebook ของตนกับไซต์ของคุณจากนั้นคุณจะสามารถส่งข้อความถึงบุคคลนั้นผ่านช่องทางปกติได้ คุณยังสามารถดึงรายชื่อเพื่อนของพวกเขาได้ด้วย อย่างไรก็ตามคุณไม่สามารถส่งข้อความถึงเพื่อนได้
ตอนนี้ยังทำไม่ได้ แต่มีวิธีแก้ไข คุณสามารถมีส่วนร่วมกับผู้ใช้ในขอบเขตสาธารณะและขอให้พวกเขาส่งข้อความส่วนตัวถึงคุณ แต่คุณไม่สามารถส่งข้อความส่วนตัวกลับได้เฉพาะข้อความสาธารณะเท่านั้น แน่นอนว่าทั้งหมดนี้ขึ้นอยู่กับว่าผู้ใช้ให้สิทธิ์ที่ถูกต้องหรือไม่
หากคุณได้รับอนุญาตให้เข้าถึงเพื่อนของบุคคลนั้นในทางทฤษฎีคุณสามารถโพสต์บนวอลล์ของผู้ใช้รายนั้นโดยอ้างอิงถึงเพื่อนแต่ละคนในทางทฤษฎีโดยขอให้พวกเขาโต้ตอบกับคุณแบบสาธารณะจากนั้นอาจส่งข้อความถึงคุณแบบส่วนตัว
รับเพื่อน
#if authenticated
https://graph.facebook.com/me/friends
http://developers.facebook.com/docs/reference/api/user/
โพสต์ในโดเมนสาธารณะ
http://developers.facebook.com/docs/reference/api/status/
รับข้อความที่ส่งถึงผู้ใช้นั้น (หากได้รับอนุญาต)
http://developers.facebook.com/docs/reference/api/message/
คุณสามารถใช้ Facebook Chat API เพื่อส่งข้อความส่วนตัวนี่คือตัวอย่างใน Ruby โดยใช้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
วิธีแก้ปัญหาอย่างหนึ่งแม้ว่าจะไม่ใช่วิธีที่ดี แต่ก็คือการใช้ที่อยู่อีเมล @ facebook.com ใหม่ มีข้อเสียบางประการดังนี้:
1) ไม่ใช่ทุกคน (ณ การโพสต์นี้) ที่เปิดใช้งานแอปพลิเคชันข้อความใหม่ในบัญชีของตน
2) ไม่ใช่ทุกคนที่จะตั้งค่าอีเมล @ facebook.com ในแอปข้อความ
3) ไม่ใช่ทุกคนที่จะเลือกชื่อผู้ใช้ (หากมีชื่อผู้ใช้ facebook) เป็นที่อยู่อีเมล
คุณไม่สามารถ. Facebook API มีread_mailboxแต่ไม่มีสิทธิ์ขยาย write_mailbox ฉันเดาว่านี่เป็นการป้องกันไม่ให้แอปสแปมท่วมกล่องจดหมายของเพื่อน
สำหรับแอปพลิเคชันมือถือฉันแก้ปัญหาโดยการฉีดจาวาสคริปต์ในมุมมองไดอะล็อก มีมุมมองเว็บที่ซ่อนอยู่ในแอป iOS ของฉัน ที่โหลดข้อความ fb ส่งข้อความโต้ตอบ api .. จากนั้นฉันฉีด javascript เพื่อตั้งค่าฟิลด์ "เป็น" และ "ข้อความ" และส่งแบบฟอร์ม .. ดังนั้นผู้ใช้ปลายทางไม่จำเป็นต้องทำอะไรเลย ส่งข้อความไปทาง inbox facebook แล้วเงียบ ...
ไม่มี API กราฟใด ๆ สำหรับสิ่งนี้คุณต้องใช้ facebook xmpp chat api เพื่อส่งข้อความข่าวดีก็คือฉันได้สร้างคลาส php ที่ใช้งานง่ายเกินไปเรียกใช้ฟังก์ชันและข้อความจะถูกส่งไป โอเพ่นซอร์สลองดู: ข้อความ facebook api phpคำอธิบายระบุว่าเป็นแหล่งปิด แต่เป็นโอเพ่นซอร์สในภายหลังดูความคิดเห็นแรกคุณสามารถโคลนจาก github ตอนนี้เป็นโอเพ่นซอร์ส
กระทู้นี้บอกว่าคุณไม่สามารถส่งข้อความส่วนตัวถึงกลุ่มเพื่อนบน facebook ได้ แต่ฉันพบว่าhttps://developers.facebook.com/docs/sharing/reference/send-dialog