web-dev-qa-db-ja.com

Accessstokenを使用してグラフAPI経由でFacebookフレンドにメッセージを送信する方法

誰もがグラフAPIを使用してFacebookの友達にメッセージを送信するのを手伝ってくれますか?.

私は試した

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

動いていない。私は手にユーザーのアクセストークンを持っています。送信プロセスで混乱しているだけです。

41
JAMES

Facebookアプリケーションを使用してメッセージを送信することはできません。以前はそれを行うことができましたが、(予測可能?)膨大な量の乱用がこの能力の取り消しにつながりました。

ユーザーのアリスが必要な 拡張アクセス許可 を提供している場合、次のオプションがあります。

  • 彼女に代わってアリスの壁に投稿する
  • アリスにメールを送信
  • アリスに代わってイベントを作成します
    • (ユーザーではなく)ボブをイベントに招待します
  • アリスに代わってボブにリクエスト/招待状を発行する
  • アプリからアリスにリクエストを発行する
51
Júlio Santos

ポップアップで Send Dialog を開くことができます。

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

29
Bob Fanger
$attachment =  array(

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

facebook->api('/'.$uesr_id.'/feed', 'POST', $attachment);
5
mwafi

技術的には、プライバシーの設定でフィードまたはクロスフィードの投稿を行うことができます。この設定では、フィードの所有者のみが投稿を表示できますが、実際にメッセージを送信することはできません。

4
user545351

Facebookのメールに送信できます。 Facebookメールは、プロファイルnickname+'@facebook.com 'で構成されています。電子メールは、Facebookの受信トレイメッセージに送られます。 Facebookのメールは、なりすましのメールを受け付けないことに注意してください。ホワイトラベルドメインが必要か、SendGridを使用します。

2
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
2
gkrdvl

メッセージを返信して新しいメッセージを書くには、xmppチャットを統合する必要があります。

2

私はこの投稿を見て、正しくないことに気付きました。 javascriot apiを使用すると、次のように友人のフィードに投稿できます。この例では、「friendID」は友人のFBユーザーIDです。この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メソッドは同様でなければなりません。

0

以下のコードを使用する代わりに

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

次のソリューションを使用してください

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