26

私のウェブサイトに「友達を招待」リンクが必要です。リンクをクリックすると、招待する友達を選択するように求める Facebook ダイアログが表示されます。これらの友人は、アプリケーション リクエスト、Facebook の電子メール、または少なくとも私のウェブサイトに参加するように招待するウォール ポストのいずれかを受け取ります。

これを行う適切な方法は何かについて少し混乱しています。廃止されていない唯一の方法は、Requests Dialogを使用することです。だから私はFB.ui彼らが与える例のようにJavascriptメソッドを呼び出します:

FB.ui({
    method: 'apprequests', 
    message: 'You should learn more about this awesome game.',
    data: 'tracking information for the user'
});

その後、招待者は Facebook にログインしたときにアプリケーション リクエストを受け取ります。彼らがそのリクエストを「受け入れる」と、Facebook キャンバス アプリケーションに転送され、そこで Facebook から渡された最初のリクエスト ID が読み取られるので、これが何であるかがわかるので、ユーザーを自分の Web サイトにリダイレクトできると思いますか? キャンバス アプリケーションの作成方法を学ばなければならないので、これは好きではありませんが、これは Facebook 機能を介して友達を招待する適切な方法ですか?

理想的には、[友達を招待] ボタンをクリックすると、Facebook の友達セレクターが表示され (または、ユーザーがまだ FB にログインしていない場合はログインします)、それらの友達のウォールに投稿します。投稿されたそのメッセージには、私の Web サイトに戻る簡単なリンクが含まれています。これは可能ですか?

4

4 に答える 4

21

私は同じ問題を抱えていました。質問に答えるのは非常に遅いですが、誰かを助けるでしょう. だからこそ、この質問に答えます。

招待状を送信する場合は、この Javascript 関数を呼び出します。

function sendRequestViaMultiFriendSelector() {
    FB.ui({
        method: 'apprequests',
        message: "This message is displayed in invitation"
    },send_wall_invitation);

}

function send_wall_invitation(response) {
   // alert(response.to);
    var send_invitation_url=base_url+'send_invitation';
    jQuery.ajax({
        url:send_invitation_url,
        data:{
            to:response.to
            },
        dataType:"json",
        type: 'POST',
        success: function(data){
//            alert("");
        }

    })
}

ajax によって招待された友人の配列を送信し、各友人に投稿を送信します。

PHP API を介して、ユーザーのフレンド ウォールに投稿できます。これを試して :

$facebook->api('/[FRIEND_ID]/feed', 'post', array(
          'message' => 'test message',
          'link' => 'http://google.com',
          'name' => 'test name',
          'caption' => 'test caption',
          'description' => 'test long description',
      ));

2013 年 2 月までは、フレンド ウォールに投稿することはできません。2013 年2 月の移行が有効になった後、フレンドのタイムラインに投稿するにはどうすればよいですか?

$facebook->api('/[Loggedin_user_id]/feed', 'post', array(
              'message' => 'test message',
              'link' => 'http://google.com',
              'name' => 'test name',
              'caption' => 'test caption',
              'description' => 'test long description',
          ));

ただし、ユーザーは引き続き自分のウォールに投稿し、投稿または画像で友達にタグを付けることができます.

見る :

  1. FB アプリケーションから写真をアップロードし、ユーザーのウォールに投稿します
  2. のタグ 友達の写真
于 2012-02-21T11:37:43.247 に答える
4

新しく導入された「送信」ボタン(およびそれと同等のダイアログ)が必要なものだと思います:

<html xmlns:fb="http://www.facebook.com/2008/fbml">
  <body>
    <script src="http://connect.facebook.net/en_US/all.js"></script>
    <div id="fb-root"></div>
    <script>
      // assume we are already logged in
      FB.init({appId: '123050457758183', xfbml: true, cookie: true});

      FB.ui({
          method: 'send',
          name: 'People Argue Just to Win',
          link: 'http://www.nytimes.com/2011/06/15/arts/people-argue-just-to-win-scholars-assert.html',
          });
     </script>
  </body>
</html>
于 2011-08-15T22:42:01.087 に答える
2

これを HTML ファイルで使用します。それは私にとってとてもうまくいきます。


<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:fb="https://www.facebook.com/2008/fbml">

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>


<p>
<input type="button"
  onclick="sendRequestViaMultiFriendSelector(); return false;"
  value="Send Request To Your Facebook Friends"
/>
</p>

<script>
  FB.init({
    appId  : 'APP_ID',
    frictionlessRequests: true
  });

  function sendRequestToRecipients() {
    var user_ids = document.getElementsByName("user_ids")[0].value;
    FB.ui({method: 'apprequests',
      message: 'Awesome Application try it once',
      to: user_ids
    }, requestCallback);
  }

  function sendRequestViaMultiFriendSelector() {
    FB.ui({method: 'apprequests',
      message: 'Awesome application try it once'
    }, requestCallback);
  }

  function requestCallback(response) {
    // Handle callback here
  }
</script>
于 2013-03-20T11:22:59.990 に答える
0
<div id="fb-root"></div>
   <script src="http://connect.facebook.net/en_US/all.js">
   </script>
   <script>
     FB.init({ 
       appId:'APP ID', cookie:true, 
       status:true, xfbml:true 
     });



function FacebookInviteFriends()
{
FB.ui({ method: 'apprequests', 
   message: 'VISIT THIS WEB SITE'});
}
   </script>

<a href='#' onClick="FacebookInviteFriends();"> INVITE YOUR FACEBOOK FRIENDS</a>
于 2012-07-04T22:35:00.110 に答える