Может ли кто-нибудь помочь мне отправить сообщение друзьям в facebook с помощью графика api.
Я пытался
$response = $facebook->call_api("/me/feed", "post", "to=john","message=You have a Test message");
Это не работает. У меня есть accesstoken пользователя в моей руке. Только я запутался в процессе отправки.
Вы не можете отправлять сообщения с помощью приложения Facebook. Вы имели обыкновение делать это, но (предсказуемое?) Колоссальное количество злоупотреблений привело к отзыву этой способности.
Если Алиса, ваш пользователь, предоставила вам необходимые расширенные разрешения , у вас есть следующие варианты:
Вы можете открыть диалоговое окно « Отправить» во всплывающем окне.
$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. Теперь это открытый источник.