ส่งข้อความส่วนตัวถึงเพื่อน


89

ฉันต้องการรับข้อมูลผู้ใช้เชื่อมต่อ Facebook และส่งข้อความส่วนตัวถึงเพื่อนทุกคนของเขา เป็นไปได้ไหม?


1
ฉันรู้ว่านี่ไม่สามารถแก้คำถามของ OP ได้ แต่ผู้ที่มองหาวิธีตอบกลับข้อความส่วนตัวอาจพบว่ามีประโยชน์นี้: stackoverflow.com/questions/9598369/…
Trevor

คำตอบ:


74

ขณะนี้สามารถส่งข้อความส่วนตัวผ่าน 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


3
วิธีแก้ปัญหานี้มีมาระยะหนึ่งแล้ว มันไม่สามารถแก้ปัญหาได้อย่างสมบูรณ์เนื่องจากคุณต้องใช้ป๊อปอัปของ Facebook และสามารถเติมข้อมูลได้เพียงคนเดียว (ณ จุดนี้ติดตามข้อผิดพลาดที่นี่ ) โซลูชันเต็มรูปแบบช่วยให้คุณใช้ API มาตรฐานเพื่อส่งข้อความได้ตามที่คุณต้องการแม้ว่าดูเหมือนว่า Facebook อาจนำสิ่งนี้ไปใช้ประโยชน์
Scott

2
@ สมนาถขอบคุณสำหรับการโพสต์วิธีแก้ปัญหา! คุณรู้หรือไม่ว่ามีวิธีหลีกเลี่ยงหน้าต่างเขียนข้อความและส่งข้อความโดยตรงหรือไม่?
CyberJunkie

2
@CyberJunkie: ฉันคิดว่า facebook ไม่ได้มีฟังก์ชันการเลี่ยงผ่าน ผู้ใช้ต้องคลิกปุ่มส่งข้อความ อื่น ๆ ที่ชาญฉลาดกล่องจดหมายของคุณจะเต็มไปด้วยโฆษณา
Somnath Muluk

@ Somnath: ฉันลองใช้วิธีแก้ปัญหาของคุณแล้วและได้ผล แต่มีวิธีเติมข้อความในป๊อปอัปด้วยข้อความที่กำหนดเองหรือไม่?
VishwaKumar

@VishwaKumar: คุณหมายถึงกล่องข้อความควรเต็มไปด้วยข้อความที่กำหนดเองเมื่อเปิดหรือไม่?
สมนาถมูลลักษณ์

9

ไม่เป็นไปไม่ได้ ในการส่งข้อความทุกประเภทไปยังผู้ใช้ Facebook คุณต้องได้รับอนุญาตจากผู้ใช้รายนั้นจึงจะทำได้

หากมีคนล็อกอินเข้าสู่ไซต์ของคุณด้วย Facebook Connect แสดงว่าพวกเขายินยอมอย่างชัดเจนที่จะแบ่งปันข้อมูล Facebook ของตนกับไซต์ของคุณจากนั้นคุณจะสามารถส่งข้อความถึงบุคคลนั้นผ่านช่องทางปกติได้ คุณยังสามารถดึงรายชื่อเพื่อนของพวกเขาได้ด้วย อย่างไรก็ตามคุณไม่สามารถส่งข้อความถึงเพื่อนได้


Google-fu ของฉันล้มเหลว มีลิงค์เกี่ยวกับวิธีการทำหรือไม่?
Randell

9

ตอนนี้ยังทำไม่ได้ แต่มีวิธีแก้ไข คุณสามารถมีส่วนร่วมกับผู้ใช้ในขอบเขตสาธารณะและขอให้พวกเขาส่งข้อความส่วนตัวถึงคุณ แต่คุณไม่สามารถส่งข้อความส่วนตัวกลับได้เฉพาะข้อความสาธารณะเท่านั้น แน่นอนว่าทั้งหมดนี้ขึ้นอยู่กับว่าผู้ใช้ให้สิทธิ์ที่ถูกต้องหรือไม่

หากคุณได้รับอนุญาตให้เข้าถึงเพื่อนของบุคคลนั้นในทางทฤษฎีคุณสามารถโพสต์บนวอลล์ของผู้ใช้รายนั้นโดยอ้างอิงถึงเพื่อนแต่ละคนในทางทฤษฎีโดยขอให้พวกเขาโต้ตอบกับคุณแบบสาธารณะจากนั้นอาจส่งข้อความถึงคุณแบบส่วนตัว

รับเพื่อน

#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/

: ตอนนี้เราสามารถส่งข้อความส่วนตัวได้แล้ว ฉันได้ให้คำตอบ
สมนาถมูลลักษณ์

8

คุณสามารถใช้ Facebook Chat API เพื่อส่งข้อความส่วนตัวนี่คือตัวอย่างใน Ruby โดยใช้xmpp4r_facebookgem:

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

บล็อกโพสต์เกี่ยวกับเรื่องนี้ - dalibornasevic.com/posts/…
Dmitry Khryukin

คุณมีรหัสที่คล้ายกันใน php เพื่อส่งข้อความส่วนตัวหรือไม่?
Snehal S

3
สิ่งนี้เลิกใช้งานตั้งแต่ v2.0 หลังจากวันที่ 1 พฤษภาคม 2015
Daniel Cukier

7

วิธีแก้ปัญหาอย่างหนึ่งแม้ว่าจะไม่ใช่วิธีที่ดี แต่ก็คือการใช้ที่อยู่อีเมล @ facebook.com ใหม่ มีข้อเสียบางประการดังนี้:

1) ไม่ใช่ทุกคน (ณ การโพสต์นี้) ที่เปิดใช้งานแอปพลิเคชันข้อความใหม่ในบัญชีของตน

2) ไม่ใช่ทุกคนที่จะตั้งค่าอีเมล @ facebook.com ในแอปข้อความ

3) ไม่ใช่ทุกคนที่จะเลือกชื่อผู้ใช้ (หากมีชื่อผู้ใช้ facebook) เป็นที่อยู่อีเมล


6

คุณไม่สามารถ. Facebook API มีread_mailboxแต่ไม่มีสิทธิ์ขยาย write_mailbox ฉันเดาว่านี่เป็นการป้องกันไม่ให้แอปสแปมท่วมกล่องจดหมายของเพื่อน


2

สำหรับแอปพลิเคชันมือถือฉันแก้ปัญหาโดยการฉีดจาวาสคริปต์ในมุมมองไดอะล็อก มีมุมมองเว็บที่ซ่อนอยู่ในแอป iOS ของฉัน ที่โหลดข้อความ fb ส่งข้อความโต้ตอบ api .. จากนั้นฉันฉีด javascript เพื่อตั้งค่าฟิลด์ "เป็น" และ "ข้อความ" และส่งแบบฟอร์ม .. ดังนั้นผู้ใช้ปลายทางไม่จำเป็นต้องทำอะไรเลย ส่งข้อความไปทาง inbox facebook แล้วเงียบ ...


คุณช่วยอธิบายเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ไหม
Totty.js

@Totty แสดงสำนึกได้ไหม ฉันต้องการมันมากสำหรับแอป iOS ของฉัน
Alex

0

ไม่มี API กราฟใด ๆ สำหรับสิ่งนี้คุณต้องใช้ facebook xmpp chat api เพื่อส่งข้อความข่าวดีก็คือฉันได้สร้างคลาส php ที่ใช้งานง่ายเกินไปเรียกใช้ฟังก์ชันและข้อความจะถูกส่งไป โอเพ่นซอร์สลองดู: ข้อความ facebook api phpคำอธิบายระบุว่าเป็นแหล่งปิด แต่เป็นโอเพ่นซอร์สในภายหลังดูความคิดเห็นแรกคุณสามารถโคลนจาก github ตอนนี้เป็นโอเพ่นซอร์ส


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.