1

我正在做这个facebook邀请(apprequest),但我需要计算用户发出的邀请数量,有人可以帮我吗?

下面的代码有效,但无论用户发送多少邀请,它都只计算 1 个邀请

<script>
    FB.init({
        appId:'<?=$myappid?>',
        cookie:true,
        status:true,
        xfbml:true
    });

    function FacebookInviteFriends()
    {//start of FacebookInviteFriends
        var inviteCounter = FB.ui({
            method: 'apprequests',
            message: '<?=$me['name']?> has invited you to play this game!',
            title: 'Select your friends to play this game!',
            exclude_ids: <?=$allFBStr?>,
            max_recipients: 5
        },
            function (inviteCounter) {

                var userID = '<?=$me['id']?>';
                //alert(userID);
                $.ajax({//ajax
                    type: 'POST',
                    url: 'addInvitationCounter.php',
                    data: {
                        userID: userID
                    },
                    success: function(result){
                        //alert("SUCCESS: " + result);
                        location.href = "myprofile.php";
                    },
                    error: function(result){
                        alert("ERROR: " + result);
                    }
                });
            }
        );
    }


</script>
4

2 回答 2

1

我不知道我的问题是否正确,但这实际上违反了 Facebook 政策。

根据第 V.1 节。

您不得激励用户授予额外权限或使用应用程序集成点。

并且根据有关应用程序集成点的文档

“应用程序集成点”是指应用程序信息部分、应用程序选项卡、Feed、请求(包括邀请)、发布者、收件箱附件、聊天、书签或用户个人资料或 Facebook 通信渠道的任何其他功能,其中或通过这些功能应用程序可以提供、显示或交付针对用户、代表用户或经用户许可的内容。

于 2013-08-01T05:45:45.777 回答
0

我曾经写过一个应用程序,根据你邀请的人数,你可以获得奖金,所以这是可能的。我认为您错过了响应对象的结构。

当我运行类似于此的邀请代码时:

FB.ui({
    method: 'apprequests',
    message: 'XYZ has invited you to play this game!',
    title: 'Select your friends to play this game!'
}, function (response) {
    console.log(response);
});

response看起来像(ID 已更改,请参阅 XYZ)

{
  request: "634814526537XYZ",
  to: [
    0: "100000526972XYZ"
    1: "100000756092XYZ"
  ]
}

所以在 resonse 对象中总是有两个条目,其中一个是 'to',一个带有受邀 id 的数组。受邀人数的访问方式如下:

FB.ui({
    method: 'apprequests',
    message: 'XYZ has invited you to play this game!',
    title: 'Select your friends to play this game!'
}, function (response) {
    var numberOfInvites = response.to.length;
    alert('You have invited '+ numberOfInvites +'People');
});

但我不知道有任何政策允许这样做,所以这是你应该阅读的主题。

于 2013-08-01T11:04:43.807 回答