2

我想鼓励我的 Facebook 应用程序用户邀请更多朋友加入该应用程序。因此,我会让他们在邀请超过 50 个朋友后免费使用我的应用程序(无论他们的朋友是否加入应用程序也可以)。

但问题是:如何查看该用户发送的邀请数量?

谢谢。

Rgds

4

2 回答 2

3

facebook 中没有内置选项。

我正在使用FB 请求对话框,每当我们发送请求时,facebook 都会返回一组请求 ID(如果有多个同时请求)。

然后只需让您自己的表说“tbl_requests”,您可以在其中使用 facebook 对话框返回的 request_id 更新当前 user_id。优点是当被邀请的人接受他的邀请时,您可以回溯这些 request_id。

示例代码可能是,

function invite(){
var receiverUserIds = FB.ui({ 
 method : 'apprequests',
 message: 'just a invite msg'
 title: 'Select your friends to join the app',
},
function(receiverUserIds) {
 if(receiverUserIds){  
  $.ajax({
       type: "POST",
       url: "your_file.php",
       req_ids="+receiverUserIds.request_ids,
  });
 }
}
);                 
}

在 your_file.php 处理您的 request_ids 并将它们存储在 db 中,然后每当您想计算发送的请求数时,您可以使用当前 user_id 进行查询

于 2011-07-21T07:40:43.950 回答
1

只需更改您的应用程序ID

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

  <body>
    <div id="fb-root"></div>
    <script src="http://connect.facebook.net/en_US/all.js"></script>
    <p>
      <input type="button"
        onclick="sendRequestToRecipients(); return false;"
        value="Send Request to Users Directly"
      />
      <input type="text" value="User ID" name="user_ids" />
      </p>
    <p>
    <input type="button"
      onclick="sendRequestViaMultiFriendSelector(); return false;"
      value="Send Request to Many Users with MFS"
    />
    </p>

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

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

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

      function requestCallback(response) {
        console.log(response);
        for (var i = 0; i < response.to.length; ++i)
        {
        alert(response.to[i]);
        }
  }
    </script>
  </body>
</html>
于 2012-07-12T08:36:24.100 回答