0

Facebookの友達をランダムに50人取得し、その結果をこのuser_ids関数で使用されるこの変数に割り当てる必要がありますsendRequestToRecipients()。私がやりたいことは、この例のようです。

Stack Overflowのすべての例が機能していません。この関数を機能させるには、いくつかの助けが必要です。

これが私のコードです:

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

      <input type="button"
        onclick="sendRequestToRecipients();return false;"
        value="Send Request to Users Directly"/>

    <input type="button"
      onclick="sendRequestViaMultiFriendSelector(); return false;"
      value="Send Request to Many Users with MFS"
    />
    </p>

    <script>
      FB.init({
        appId  : '398994226827517',
        status : true,
        oauth  : true,
        Xfbml  : true,
        cookie : true,
        frictionlessRequests : true
      });

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

  function sendRequestViaMultiFriendSelector() {
    FB.ui({method: 'apprequests',
      message: 'sample message'
    }, requestCallback);
  }

  function requestCallback(response) {
    // Handle callback here
  }

</script>
4

4 に答える 4

2

承認されたメッセージには、次のような変更が必要です

FB.api('/me/friends', function(friend) {
    var user_ids = [];
    $(friend.data).each(function(index, element) {
        user_ids.push(element.id);
    });
  FB.ui({method: 'apprequests',
    message: 'sample message'
    to: user_ids
  });
});
于 2014-04-02T10:25:13.817 に答える
0

なぜ誰もがランダムな友達をアプリに招待したいのですか?これを行うと、スパムのためにアプリがすぐにシャットダウンされる可能性があります。ユーザーがアプリに招待する相手を選択できるようにします。アプリに関心がない可能性のあるランダムな友達にスパムを送信するように強制しないでください。

本当にこれを行う必要がある場合は、リクエストダイアログのドキュメントに従って、アプリのユーザーにリクエストを送信するユーザーのuidを「to」パラメータに事前に入力できます。ドキュメントの例は次のとおりです。

function sendRequestToRecipients() {
  FB.ui({method: 'apprequests',
    message: 'My Great Request',
    to: '499802820,499802852'
  }, requestCallback);
}
于 2012-08-20T18:18:12.110 に答える
0

前述のように、これはユーザーが友達を選択できないため、ユーザーにとって非常に煩わしいものです。

あなたが本当にそれをしたいのなら、これはうまくいくはずです:

FB.api('/me/friends', function(friend) {
  FB.ui({method: 'apprequests',
    message: 'Random Friends',
    to: 'friend[0].id,friend[1].id,friend[2].id'
  }, requestCallback);
});

最初の3人の友達が選択されます(ランダムではありませんが、より良いです)。

于 2012-08-27T14:52:03.143 に答える
-1

PHP:

<?php 
 $fql = "SELECT uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me()) order by rand() limit 20";

 $response = $facebook->api(array(
     'method' => 'fql.query',
     'query' =>$fql,
 ));
 $c="";
 $ids = "";
 foreach ($response as $key => $value) {
   $ids .= $c.$value['uid'];
   =',';
 } ?> 

JavaScript:

FB.ui({
    method       : 'apprequests',
    title        : '<?php echo $app->title;?>',
    message      : "<?php echo $app->img_description;?>",
    to: "<?php echo $ids;?>"
}, function (data) {});
于 2014-03-26T10:55:59.297 に答える