как отправить сообщение facebook другу через график api с помощью Accessstoken

Может ли кто-нибудь помочь мне отправить сообщение друзьям в facebook с помощью графика api.

Я пытался

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

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

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

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

  • Послание к стене Алисы от ее имени
  • Отправить личное сообщение для Alice
  • Создавайте мероприятия от имени Алисы
    • пригласите Боба (не вашего пользователя) на указанные события
  • Выдать запрос / приглашение от имени Алисы Бобу
  • Выдать запрос от приложения к Алисе

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

  $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/.

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

to: идентификатор пользователя facebook

 function facebook_send_message(to) { FB.ui({ app_id:'xxxxxxxx', method: 'send', name: "sdfds jj jjjsdj jj ", link: 'https://apps.facebook.com/xxxxxxxaxsa', to:to, description:'sdf sdf sfddsfdd sd fsf s ' }); } 

свойства

  • app_id
    Идентификатор вашей заявки. Требуется, но автоматически определяется большинством SDK.

  • redirect_uri
    URL-адрес для перенаправления после того, как пользователь нажимает кнопки «Отправить» или «Отмена» в диалоговом окне. Требуется, но автоматически определяется большинством SDK.

  • дисплей
    Режим отображения, в котором отображается диалог. Это автоматически указывается большинством SDK.

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

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

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

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

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

 $attachment = array( 'access_token' => $access_token, 'message' => "$msg", 'name' => "$name", 'link' => "$link", 'description' => "$desc", ); facebook->api('/'.$uesr_id.'/feed', 'POST', $attachment); 

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

 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 

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

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

Я видел этот пост и заметил, что это неправильно. Используя javascriot api, вы можете отправить сообщение другу так: В этом примере «friendID» – это идентификатор пользователя FB друга. Для этого вызова api требуется разрешение «publish_stream».

 FB.api('/'+friendID+'/feed', 'post', { method: 'feed', message: messageText, name: 'write a title here', caption: 'Put a caption here.', description: 'Put your description here.', link: 'http://stackoverflow.com/questions/2943297/how-send-message-facebook-friend-through-graph-api-using-accessstoken', picture: 'link to the preview thumbnail', }, function(response) { if (!response || response.error) { //alert('Error occured'); } else { //alert('Post ID: ' + response.id); } }); 

Таким образом, это делается с помощью javasfcript SDK – метод PHP должен быть схожим.

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

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

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

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

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