it-swarm.com.ru

Отправить личные сообщения друзьям

Мне нужно через Facebook подключить информацию о пользователе и отправить личное сообщение всем его друзьям. Является ли это возможным?

86
yspro

Отправка личного сообщения через API теперь возможна.

Вызвать это событие для отправки сообщения (инициализация объекта facebook должна быть сделана раньше).

to:user id из фейсбука

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. 

  • в
    Идентификатор пользователя или имя пользователя для отправки сообщения. После появления диалога Пользователь может указать дополнительных пользователей, группы Facebook и адреса электронной почты , на которые следует отправить сообщение. Отправка контента в группу Facebook опубликует его на стене группы. 

  • ссылка на сайт
    (обязательно) Ссылка для отправки в сообщении. 

  • картина
    По умолчанию снимок будет сделан по указанной ссылке. URL Картинки для включения в сообщение. Картинка будет показана рядом со ссылкой. 

  • name По умолчанию заголовок будет взят по указанной ссылке. Имя Ссылки, т. Е. Текст для отображения, на который пользователь нажмет.

  • описание
    По умолчанию описание будет взято из указанной ссылки Описательный текст, который будет отображаться под ссылкой.

Подробнее здесь

@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

74
Somnath Muluk

Нет, это невозможно. Чтобы вы могли отправлять сообщения любого типа пользователю Facebook, вам необходимо разрешение этого пользователя.

Если кто-то входит на ваш сайт через Facebook Connect, он явно соглашается поделиться своими данными Facebook с вашим сайтом, и тогда вы сможете отправить этому человеку сообщение по обычным каналам. Вы также сможете получить список их друзей. Тем не менее, вы не можете отправлять сообщения друзьям.

9
zombat

Это невозможно сейчас, но есть обходной путь. Вы можете взаимодействовать с пользователем в общедоступной сфере и просить его отправлять вам личные сообщения, но вы не можете отправлять личные сообщения назад, только публичные. Конечно, все зависит от того, предоставит ли пользователь правильные разрешения.

Если вы дали разрешение на доступ к друзьям этого человека, вы можете теоретически опубликовать на стене этих пользователей ссылки на каждого из друзей, попросив их публично взаимодействовать с вами, а затем, возможно, конфиденциально отправить вам сообщение.

Найти друзей

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

Вы можете использовать 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
8
Dalibor Nasevic

Одним из обходных путей, хотя и не самым удачным, является использование нового адреса электронной почты @ facebook.com. У этого есть несколько недостатков:

1) Не у всех (на момент публикации) приложение новых сообщений включено в их учетной записи.

2) Не все настроят свою электронную почту @ facebook.com в своем приложении сообщений.

3) Не каждый выберет в качестве своего адреса электронной почты свое имя пользователя (если у него даже есть имя пользователя в Facebook).

7
Scott

Ты не можешь. У API Facebook есть read_mailbox но нет расширенного разрешения write_mailbox. Я предполагаю, что это сделано для того, чтобы приложения-спамеры не заполняли почтовые ящики друзей.

5
Anurag

Для мобильного приложения я сделал решение, внедрив JavaScript в диалоговом окне. В моем приложении ios есть скрытый веб-просмотр. Это загружает диалоговое окно отправки сообщения fb api .. затем я внедряю некоторый javascript, чтобы установить поля "to" и "message" и отправляю форму .. Так что конечному пользователю не нужно ничего делать. Сообщение отправлено на входящие в Facebook без уведомления ...

2
apueee

Для этого нет графика api, вам нужно использовать Facebook xmpp chat api для отправки сообщения, хорошая новость: я создал php-класс, который слишком прост в использовании, вызовите функцию, и сообщение будет отправлено, его с открытым исходным кодом, проверьте это: Facebook сообщение api php описание говорит, что это закрытый источник, но позже он был сделан с открытым исходным кодом, см. первый комментарий, вы можете клонировать из github. Теперь это открытый исходный код.

0
Nishchal Gautam

В этой теме говорится, что вы не можете отправлять личные сообщения группе друзей на Facebook, но я нашел это https://developers.facebook.com/docs/sharing/reference/send-dialog

0
Josh Pittman