Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

Теперь можно отправить личное сообщение через 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-адрес для перенаправления после того, как пользователь нажмет кнопку "Отправить" или "Отменить" кнопок в диалоговом окне. Требуется, но автоматически определяется большинством SDKs.

  • дисплей
    Режим отображения, в котором отображается диалог. Это автоматически определенных большинством 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

Ответ 2

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

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

Ответ 3

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

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

Получить друзей

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

Ответ 4

Вы можете использовать API Facebook Chat для отправки личных сообщений, вот пример 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

Ответ 5

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

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

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

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

Ответ 6

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

Ответ 7

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

Ответ 8

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