Facebook bağlantısı üzerinden kullanıcı bilgilerini almam ve tüm arkadaşlarına özel bir mesaj göndermem gerekiyor. Mümkün mü?
Facebook bağlantısı üzerinden kullanıcı bilgilerini almam ve tüm arkadaşlarına özel bir mesaj göndermem gerekiyor. Mümkün mü?
Yanıtlar:
API aracılığıyla özel mesaj göndermek artık mümkün.
Mesaj göndermek için bu olayı çalıştır (facebook nesnesinin ilklendirilmesi daha önce yapılmalıdır).
to:user
facebook kimliği
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 '
});
}
Özellikleri
app_id
Uygulamanızın tanımlayıcısı. Zorunludur, ancak çoğu SDK tarafından otomatik olarak belirtilir.
redirect_uri
Kullanıcı iletişim kutusundaki Gönder veya İptal düğmelerini tıkladıktan sonra yeniden yönlendirilecek URL. Zorunludur, ancak çoğu SDK tarafından otomatik olarak belirtilir.
ekran
İletişim kutusunun oluşturulacağı görüntüleme modu. Bu, çoğu SDK tarafından otomatik olarak belirtilir.
için
bir kullanıcı kimliği veya kullanıcı adı hangi mesajı göndermek için. İletişim kutusu açıldığında, kullanıcı mesajın gönderileceği ek kullanıcıları, Facebook gruplarını ve e-posta adreslerini belirleyebilir. Bir Facebook grubuna içerik göndermek, onu grubun duvarına gönderecektir.
bağlantı
(gerekli) Mesajda gönderilecek bağlantı.
resim
Varsayılan olarak, belirtilen bağlantıdan bir resim çekilecektir. Mesaja eklenecek resmin URL'si. Resim, bağlantının yanında gösterilecektir.
isim Varsayılan olarak belirtilen bağlantıdan bir başlık alınacaktır. Bağlantının adı, yani kullanıcının tıklayacağı görüntülenecek metin.
açıklama
Varsayılan olarak, belirtilen bağlantıdan bir açıklama alınacaktır. Bağlantının altında gösterilecek açıklayıcı metin.
Daha fazla gör Burada
@Filmdenkare:
Özel metin içeren mesaj göndermek için 'mesaj' parametresini eklemeniz gerekir FB.ui
, ancak bu özelliğin kullanımdan kaldırıldığını düşünüyorum. Artık mesajı önceden dolduramazsınız. Yine de bir kez deneyin.
FB.ui({
method: 'send',
to: '1234',
message: 'A request especially for one person.',
data: 'tracking information for the user'
});
Bu bağlantıya bakın: http://fbdevwiki.com/wiki/FB.ui
Hayır, bu mümkün değil. Bir Facebook kullanıcısına herhangi bir türde mesaj gönderebilmeniz için, bunu yapmak için o kullanıcının iznine ihtiyacınız vardır.
Birisi sitenize Facebook Connect ile giriş yaparsa, Facebook verilerini sitenizle paylaşmayı açıkça kabul eder ve bu kişiye normal kanallar üzerinden bir mesaj gönderebilirsiniz . Arkadaş listelerini de getirebilirsiniz. Ancak arkadaşlarınıza mesaj gönderemezsiniz.
Bu şu anda mümkün değil, ancak etrafta bir çalışma var. Kullanıcıyla kamusal alanda iletişim kurabilir ve ondan size özel mesajlar göndermelerini isteyebilirsiniz, ancak özel mesajları geri gönderemezsiniz, yalnızca herkese açık olanları. Elbette bu, kullanıcının size doğru izinleri verip vermediğine bağlıdır.
Bir kişinin arkadaşlarına erişme izni verdiyseniz, teorik olarak bu kullanıcıların duvarına her bir arkadaşınızın referanslarını gönderebilir, onlardan sizinle genel olarak etkileşime girmelerini ve ardından potansiyel olarak özel olarak size mesaj göndermelerini isteyebilirsiniz.
Arkadaş edinmek
#if authenticated
https://graph.facebook.com/me/friends
http://developers.facebook.com/docs/reference/api/user/
Kamusal Alanda Yayınla
http://developers.facebook.com/docs/reference/api/status/
Bu kullanıcıya gönderilen Mesajları alın (izin verilirse)
http://developers.facebook.com/docs/reference/api/message/
Özel mesajlar göndermek için Facebook Sohbet API'sini kullanabilirsiniz, işte Ruby'de xmpp4r_facebook
gem kullanan bir örnek :
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
Harika olmasa da bir çözüm, yeni @ facebook.com e-posta adresini kullanmaktır. Bunun birkaç dezavantajı var:
1) Herkesin (bu gönderiden itibaren) hesabında yeni mesaj uygulaması etkin değildir.
2) Herkes mesaj uygulamasında @ facebook.com e-postasını ayarlamaz.
3) Herkes kullanıcı adını (bir facebook kullanıcı adı olsa bile) e-posta adresi olarak seçmez.
Mobil uygulama için diyalog görünümüne javascript ekleyerek bir çözüm yaptım. İOS uygulamamda gizli bir web görünümü var. Bu, fb mesaj gönder diyalog api'yi yükler .. sonra "kime" ve "mesaj" alanını ayarlamak ve formu göndermek için bazı javascriptler enjekte ederim. Böylece son kullanıcının hiçbir şey yapmasına gerek kalmaz. Facebook gelen kutusuna sessizce gönderilen mesaj ...
Bunun için herhangi bir grafik api yok, mesajı göndermek için facebook xmpp chat api kullanmanız gerekiyor, iyi haber: Kullanımı çok kolay bir php sınıfı yaptım, bir fonksiyon çağırdım ve mesaj gönderilecek, onun açık kaynak, kontrol edin: facebook mesaj api php açıklama kapalı bir kaynak olduğunu söylüyor ancak daha sonra açık kaynak yapıldı, ilk yorumu görün, github'dan klonlayabilirsiniz. Artık açık kaynak.
Bu konu, facebook'taki bir grup arkadaşınıza özel mesaj gönderemeyeceğinizi söylüyor, ancak bunu buldum https://developers.facebook.com/docs/sharing/reference/send-dialog