Kann mir jemand helfen, eine Nachricht an Facebook-Freunde mit graph api zu senden.
Ich habe es versucht
$response = $facebook->call_api("/me/feed", "post", "to=john","message=You have a Test message");
Es funktioniert nicht. Ich habe den Zugang des Benutzers in meiner Hand. Ich bin nur verwirrt über den Sendevorgang.
Sie können keine Nachrichten mit einer Facebook-Anwendung senden. Früher war das möglich, aber das (vorhersehbare?) Ausmaß des Missbrauchs führte zum Widerruf dieser Fähigkeit.
Vorausgesetzt, Alice, Ihr Benutzer, hat Ihnen die erforderlichen erweiterten Berechtigungen gegeben, haben Sie die folgenden Optionen:
Sie können das Sendedialog in einem Popup öffnen.
$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).', ...
Detaillierte Optionen finden Sie unter: https://developers.facebook.com/docs/reference/dialogs/send/
$attachment = array(
'access_token' => $access_token,
'message' => "$msg",
'name' => "$name",
'link' => "$link",
'description' => "$desc",
);
facebook->api('/'.$uesr_id.'/feed', 'POST', $attachment);
Technisch gesehen können Sie Feed- oder Cross-Feed-Posts mit Datenschutzeinstellungen erstellen, bei denen nur der Feed-Eigentümer den Post sehen kann, aber nicht wirklich eine Nachricht an eine Person sendet.
Sie können an ihre Facebook-E-Mail senden. Facebook-E-Mail besteht aus dem Profil Spitzname+'@facebook.com '. Die E-Mail wird an ihre Facebook-Inbox-Nachricht weitergeleitet. Beachten Sie, dass Facebook-E-Mail keine Spoofing-E-Mails akzeptiert. Sie benötigen eine Whitelabel-Domain oder verwenden SendGrid.
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
Sie müssen xmpp chat integrieren, um eine Nachricht zu beantworten und eine neue Nachricht zu schreiben.
Ich habe diesen Beitrag gesehen und festgestellt, dass er nicht richtig war. Mit der javascriot-API können Sie wie folgt in den Feed eines Freundes posten: In diesem Beispiel ist "friendID" die FB-Benutzer-ID des Freundes. Dieser API-Aufruf erfordert die Berechtigung "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);
}
});
Das macht man also mit dem javasfcript SDK - die PHP Methode muss ähnlich sein.
Anstatt den folgenden Code zu verwenden
[facebook dialog:@"feed"
andParams:params
andDelegate:self];
Verwenden Sie die folgende Lösung
[facebook requestWithGraphPath:@"me/feed"
andParams:params
andHttpMethod:@"POST"
andDelegate:self];