41

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

私は試した

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

動いていない。手元にユーザーのアクセストークンがありますが、送信処理に戸惑うだけです。

4

9 に答える 9

51

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

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

  • Alice の代わりに Alice のウォールに投稿する
  • アリスにメールを送る
  • Alice に代わってイベントを作成する
    • Bob (あなたのユーザーではない) を上記のイベントに招待する
  • アリスに代わってボブにリクエスト/招待状を発行する
  • アプリから Alice にリクエストを発行する
于 2010-10-31T00:24:50.570 に答える
29

ポップアップで送信ダイアログを開くことができます。

 $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/ を参照してください。

于 2011-08-02T13:53:47.803 に答える
5
$attachment =  array(

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

facebook->api('/'.$uesr_id.'/feed', 'POST', $attachment);
于 2010-08-01T15:14:24.190 に答える
4

技術的には、フィードの所有者だけが投稿を見ることを許可するが、実際には人にメッセージを送信しないプライバシー設定を使用して、フィードまたはクロスフィードの投稿を行うことができます。

于 2010-12-16T21:26:31.363 に答える
2

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

于 2013-01-19T07:17:39.190 に答える
2

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

于 2013-04-16T05:00:40.907 に答える
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
于 2010-08-25T07:59:16.613 に答える
0

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

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

次の解決策を使用してください

[facebook requestWithGraphPath:@"me/feed"
   andParams:params
   andHttpMethod:@"POST"
   andDelegate:self];
于 2012-11-28T06:36:22.177 に答える
0

私はこの投稿を見て、それが正しくないことに気付きました。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 メソッドは類似している必要があります。

于 2012-08-14T21:57:22.577 に答える