Kirim pesan pribadi ke teman

Jawaban:

74

Mengirim pesan pribadi melalui api sekarang dimungkinkan.

Aktifkan acara ini untuk mengirim pesan (inisialisasi objek facebook harus dilakukan sebelumnya).

to:user id dari 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 '

    });
}

Properti

  • app_id Pengenal
    aplikasi Anda. Diperlukan, tetapi ditentukan secara otomatis oleh sebagian besar SDK.

  • redirect_uri
    URL tujuan redirect setelah pengguna mengklik tombol Send atau Cancel pada dialog. Diperlukan, tetapi ditentukan secara otomatis oleh sebagian besar SDK.

  • display
    Mode tampilan untuk membuat dialog. Ini secara otomatis ditentukan oleh sebagian besar SDK.

  • ke
    ID pengguna atau nama pengguna yang akan dikirimi pesan. Setelah dialog muncul, pengguna dapat menentukan pengguna tambahan, grup Facebook, dan alamat email yang akan dikirimi pesan tersebut. Mengirim konten ke grup Facebook akan mempostingnya ke dinding grup.

  • link
    (wajib) Link yang akan dikirim dalam pesan.

  • gambar
    Secara default gambar akan diambil dari link yang ditentukan. URL gambar yang akan disertakan dalam pesan. Gambar akan ditampilkan di sebelah tautan.

  • name Secara default, judul akan diambil dari link yang ditentukan. Nama link, yaitu teks yang akan ditampilkan yang akan diklik pengguna.

  • deskripsi
    Secara default, deskripsi akan diambil dari link yang ditentukan. Teks deskriptif untuk ditampilkan di bawah tautan.

Lihat selengkapnya di sini

@VishwaKumar:

Untuk mengirim pesan dengan teks kustom, Anda harus menambahkan parameter 'message' ke FB.ui, tapi menurut saya fitur ini sudah usang. Anda tidak dapat lagi mengisi pesan sebelumnya. Padahal coba sekali.

FB.ui({
  method: 'send',
  to: '1234',
  message: 'A request especially for one person.',
  data: 'tracking information for the user'
});

Lihat tautan ini: http://fbdevwiki.com/wiki/FB.ui

Somnath Muluk
sumber
3
Solusi ini sudah ada sejak lama. Itu tidak sepenuhnya menyelesaikan masalah karena Anda harus menggunakan popup Facebook dan hanya dapat mengisi satu orang (pada titik ini, lacak bug di sini ). Solusi lengkap memungkinkan Anda menggunakan API standar untuk mengirim pesan sesuka Anda, meskipun tampaknya Facebook telah menghapusnya untuk selamanya.
Scott
2
@Somnath, terima kasih telah memposting solusinya! Tahukah Anda jika ada cara untuk melewati jendela tulis pesan dan hanya mengirim pesan secara langsung?
CyberJunkie
2
@CyberJunkie: Saya pikir facebook tidak menyediakan fungsi bypass seperti itu. Pengguna harus mengklik tombol kirim pesan. Jika tidak, kotak masuk Anda akan penuh dengan iklan.
Somnath Muluk
@Somnath: Saya mencoba solusi Anda dan berhasil, Tapi apakah ada cara untuk mengisi Pesan di munculan dengan pesan khusus?
VishwaKumar
@VishwaKumar: Apakah maksud Anda kotak pesan harus diisi dengan pesan khusus saat dibuka?
Somnath Muluk
9

Tidak, ini tidak mungkin. Agar Anda dapat mengirim pesan dalam bentuk apa pun kepada pengguna Facebook, Anda memerlukan izin pengguna tersebut untuk melakukannya.

Jika seseorang log ke situs Anda dengan Facebook Connect, mereka secara eksplisit setuju untuk berbagi data Facebook mereka dengan situs Anda, dan Anda kemudian akan dapat mengirim orang itu pesan melalui saluran normal. Anda juga dapat mengambil daftar teman mereka. Namun, Anda tidak dapat mengirim pesan ke teman.

zombat
sumber
Google-fu saya mengecewakan saya. Punya tautan tentang cara melakukan ini?
Randell
9

Ini tidak mungkin sekarang, tetapi ada jalan keluarnya. Anda dapat terlibat dengan pengguna di ranah publik dan meminta mereka untuk mengirimi Anda pesan pribadi, tetapi Anda tidak dapat mengirim kembali pesan pribadi, hanya pesan publik. Tentu saja, ini semua tergantung pada apakah pengguna memberi Anda izin yang benar.

Jika Anda telah memberikan izin untuk mengakses teman seseorang, Anda kemudian dapat secara teoritis memposting di dinding pengguna dengan referensi ke masing-masing teman, meminta mereka untuk berinteraksi secara publik dengan Anda dan kemudian berpotensi mengirimi Anda pesan pribadi.

Dapatkan Teman

#if authenticated
https://graph.facebook.com/me/friends
http://developers.facebook.com/docs/reference/api/user/

Posting di Domain Publik

http://developers.facebook.com/docs/reference/api/status/

Dapatkan Pesan dikirim ke pengguna itu (jika diberi izin)

http://developers.facebook.com/docs/reference/api/message/
JiminyCricket
sumber
: Sekarang kami dapat mengirim pesan pribadi sekarang. Saya telah memberikan jawaban.
Somnath Muluk
8

Anda dapat menggunakan API Obrolan Facebook untuk mengirim pesan pribadi, berikut adalah contoh di Ruby menggunakan 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
Dalibor Nasevic
sumber
posting blog tentang ini - dalibornasevic.com/posts/…
Dmitry Khryukin
apakah Anda memiliki kode serupa di php untuk mengirim pesan pribadi?
Snehal S
3
ini tidak digunakan lagi sejak v2.0 setelah 1 Mei 2015
Daniel Cukier
7

Salah satu solusi, meskipun tidak bagus, adalah menggunakan alamat email @ facebook.com yang baru. Ada beberapa kelemahannya:

1) Tidak semua orang (pada postingan ini) mengaktifkan aplikasi pesan baru di akun mereka.

2) Tidak semua orang mengatur email @ facebook.com mereka di aplikasi pesan mereka.

3) Tidak semua orang akan memilih nama pengguna mereka (bahkan jika mereka memiliki nama pengguna facebook) sebagai alamat email mereka.

Scott
sumber
6

Kamu tidak bisa. API Facebook memiliki read_mailbox tetapi tidak ada perpanjangan izin write_mailbox. Saya menduga ini dilakukan untuk mencegah aplikasi berisi spam membanjiri kotak masuk teman.

Anurag
sumber
2

Untuk aplikasi seluler saya melakukan solusi dengan memasukkan javascript di tampilan dialog. Ada tampilan web tersembunyi di aplikasi ios saya. Itu memuat api dialog kirim pesan fb .. kemudian saya menyuntikkan beberapa javascript untuk mengatur bidang "ke" dan "pesan" dan mengirimkan formulir .. Sehingga pengguna akhir tidak perlu melakukan apapun. Pesan dikirim ke kotak masuk facebook tanpa suara ...

apueee
sumber
dapatkah Anda menjelaskan lebih lanjut tentang ini?
Totty.js
@Totty dapatkah Anda menunjukkan realisasi Anda? Saya sangat membutuhkannya untuk aplikasi iOS saya.
Alex
0

Tidak ada api grafik untuk ini, Anda perlu menggunakan api obrolan facebook xmpp untuk mengirim pesan, kabar baiknya adalah: Saya telah membuat kelas php yang terlalu mudah digunakan, panggil fungsi dan pesan akan dikirim, ini open source, lihat ini: facebook message api php deskripsinya mengatakan itu adalah sumber tertutup tetapi itu dibuat menjadi sumber terbuka nanti, lihat komentar pertama, Anda dapat mengkloning dari github. Ini open source sekarang.

Nishchal Gautam
sumber