Facebook获得已发送请求的数量和已接受的请求

时间:2011-06-14 15:51:14

标签: facebook

我需要创建一个页面,其中包含facebook页面或facebook应用程序的请求对话框。 我需要获得用户发送请求的朋友数量,并在当天结束时获取特定用户获得的请求数量。

该场景用于奖励,向freinds发送最多请求的用户获得奖励,接受最多请求的用户也获得奖励。

我不知道第二个是否可能,但我认为它应该是,FB上的游戏给你发送请求的积分,当你的朋友接受你的请求时你也会得到新的任务,所以有一种方式。

- 我将记录发送的邀请数量。

返回数据 request_ids

以逗号分隔的已创建的request_id列表。要了解发送请求的对象,您应该遍历请求ID标识的每个请求对象的信息。

FB.ui({
                   method: 'apprequests',
                   title:'Suggest '+fbAppName+' to your friends',
                   message: 'I thought you would dig this app!',
                   data: 'gameID=96'
       }, onInviteFriend);

//jquery required for ajax function
    onInviteFriend = function(response) {
        if (response && response.request_ids) {
            var idsLength = response.request_ids.length;
            var idList = "";
            var data = {};
            var ajaxSettings = {};
            for (var i = 0; i < idsLength; i++){
                idList += response.request_ids[i];
                if (i < idsLength-1){
                    idList += ",";
                }
            }
            if (idsLength > 0){
                data.idList = idList;
                ajaxSettings = {
                    type: "GET",
                    url: sketchnpass.root+"/ajax/log-invite-sent/",
                    data: data,
                    success: sketchnpass.onSaveInvites
                };
                $.ajax(ajaxSettings);
            }
            //was published
        } else {
            //was not published
        }
    }

我认为使用上面的代码我可以获得已发送请求的数量。

但是当some1接受请求时我怎么知道发生了什么,接受的请求是否会将用户和一些数据一起发送到我的应用程序?

1 个答案:

答案 0 :(得分:2)

Facebook requests dialog documentation基本上会指导您完成此操作。

发送请求时,request_ids将作为返回数据返回,因此您需要在系统中记录此信息以跟踪发送了多少请求的人。

要跟踪已接受的邀请,文档说这个网址被称为:http://apps.facebook.com/ [app_name] /?request_ids = 012345678910,因此您只需要解析请求ID并查看请求ID在您的系统中将其标记为已接受。