как отправить сообщение фейсбуку другу через graph api используя Accessstoken - PullRequest
41 голосов
/ 31 мая 2010

Может ли кто-нибудь помочь мне отправить сообщение друзьям в Facebook с помощью Graph API.

Я пытался

$response = $facebook->call_api("/me/feed", "post", "to=john","message=You have a Test message");

Это не работает. У меня в руке есть маркер доступа пользователя. Только я запутался в процессе отправки.

Ответы [ 11 ]

51 голосов
/ 31 октября 2010

Вы не можете отправлять сообщения с помощью приложения Facebook. Раньше вы могли это делать, но (предсказуемое?) Колоссальное количество злоупотреблений привело к отзыву этой способности.

При условии, что Алиса, ваш пользователь, предоставила вам необходимые расширенные разрешения , у вас есть следующие опции:

  • Опубликовать на стене Алисы от ее имени
  • Отправить письмо Алисе
  • Создание событий от имени Алисы
    • пригласить Боба (не вашего пользователя) на указанные события
  • Направить запрос / приглашение от имени Алисы Бобу
  • Оформить запрос из приложения к Алисе
29 голосов
/ 02 августа 2011

Вы можете открыть Диалог отправки во всплывающем окне.

 $parameters = array(
    'app_id' => $facebook->getAppId(),
    'to' => $facebookUserId,
    'link' => 'http://google.nl/',
    'redirect_uri' => 'http://my.app.url/callback'
 );
 $url = 'http://www.facebook.com/dialog/send?'.http_build_query($parameters);
 echo '<script type="text/javascript">window.open('.json_encode($url).', ...

Для подробных опций смотрите: https://developers.facebook.com/docs/reference/dialogs/send/

9 голосов
/ 17 февраля 2012

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

to: идентификатор пользователя 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 картинки для включения в сообщение. Картинка будет показана рядом с ссылкой.

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

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

5 голосов
/ 01 августа 2010
$attachment =  array(

    'access_token' => $access_token,
    'message' => "$msg",
    'name' => "$name",
    'link' => "$link",
    'description' => "$desc",
);

facebook->api('/'.$uesr_id.'/feed', 'POST', $attachment);
4 голосов
/ 17 декабря 2010

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

2 голосов
/ 16 апреля 2013

Вам нужно будет интегрировать чат xmpp, чтобы ответить на сообщение и написать новое сообщение.

2 голосов
/ 19 января 2013

Вы можете отправить их на Facebook по электронной почте.Электронная почта Facebook состоит из профиля никнейм''@facebook.com '.Письмо будет отправлено на их входящие сообщения в Facebook.Обратите внимание, что электронная почта Facebook не принимает поддельные сообщения.Вам понадобится домен whitelabel или используйте SendGrid.

2 голосов
/ 25 августа 2010
You can use
HTTP POST with
PATH
https://graph.facebook.com/friend_facebook_id/feed
PARAMETER
MESSAGE = your message
ACCESS_TOKEN = your oauth2 access token
0 голосов
/ 04 февраля 2014

Похоже, что вы хотите отправить сообщение прямо в основной почтовый ящик получателя, для этого нет никаких графиков API, вам нужно использовать Facebook API XMPpp чата и отправить сообщение, однако я создал класс php, который слишком прост в использовании, только некоторые вызовы функций и вызов функции отправки сообщения, и сообщение будет отправлено, его открытый источник, проверьте его: facebook message api php описание говорит, что это закрытый источник, но В комментарии говорится, что это открытый исходный код, вы можете клонировать его с github. Теперь это открытый исходный код.

0 голосов
/ 28 ноября 2012

Вместо использования приведенного ниже кода

    [facebook dialog:@"feed"
     andParams:params 
     andDelegate:self]; 

Используйте следующее решение

[facebook requestWithGraphPath:@"me/feed"
   andParams:params
   andHttpMethod:@"POST"
   andDelegate:self];
...