Мне нужно через Facebook подключить информацию о пользователе и отправить личное сообщение всем его друзьям. Является ли это возможным?
Мне нужно через Facebook подключить информацию о пользователе и отправить личное сообщение всем его друзьям. Является ли это возможным?
Ответы:
Теперь можно отправлять личные сообщения через api.
Запустите это событие для отправки сообщения (инициализация объекта facebook должна быть выполнена раньше).
to:user
идентификатор 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.
display
Режим отображения, в котором отображается диалог. Это автоматически указывается большинством SDK.
в
Идентификатор пользователя или имя пользователя, которому следует отправить сообщение. Как только появится диалоговое окно, пользователь может указать дополнительных пользователей, группы Facebook и адреса электронной почты, на которые будет отправлено сообщение. Отправив контент в группу Facebook, вы разместите его на стене группы.
ссылка
(обязательно) Ссылка для отправки в сообщении.
картинка
По умолчанию картинка будет сделана по указанной ссылке. URL-адрес изображения, которое нужно включить в сообщение. Картинка будет отображаться рядом со ссылкой.
имя По умолчанию заголовок будет взят из указанной ссылки. Название ссылки, т.е. отображаемый текст, по которому пользователь щелкнет.
описание
По умолчанию описание будет взято из указанной ссылки. Описательный текст, отображаемый под ссылкой.
Подробнее здесь
@VishwaKumar:
Для отправки сообщения с настраиваемым текстом вы должны добавить параметр «сообщение» 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 для отправки личных сообщений, вот пример использования xmpp4r_facebook
gem на Ruby :
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) в качестве адреса электронной почты.
Для мобильного приложения я решил ввести javascript в диалоговом окне. В моем приложении для iOS есть скрытый веб-просмотр. Это загружает api диалога отправки сообщения fb ... затем я вставляю некоторый javascript, чтобы установить поля "to" и "message" и отправить форму .. Так что конечному пользователю не нужно ничего делать. Сообщение отправлено во входящие facebook без уведомления ...
Для этого нет никакого графического api, вам нужно использовать facebook xmpp chat api для отправки сообщения, хорошие новости: я создал php-класс, который слишком прост в использовании, вызовите функцию, и сообщение будет отправлено, его открытый исходный код, проверьте это: facebook message api php в описании говорится, что это закрытый исходный код, но позже он был сделан с открытым исходным кодом, см. первый комментарий, вы можете клонировать из github. Теперь это открытый исходный код.
В этой ветке говорится, что вы не можете отправлять личные сообщения группе друзей на Facebook, но я нашел это https://developers.facebook.com/docs/sharing/reference/send-dialog