我需要创建一个页面,其中包含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接受请求时我怎么知道发生了什么,接受的请求是否会将用户和一些数据一起发送到我的应用程序?
答案 0 :(得分:2)
Facebook requests dialog documentation基本上会指导您完成此操作。
发送请求时,request_ids将作为返回数据返回,因此您需要在系统中记录此信息以跟踪发送了多少请求的人。
要跟踪已接受的邀请,文档说这个网址被称为:http://apps.facebook.com/ [app_name] /?request_ids = 012345678910,因此您只需要解析请求ID并查看请求ID在您的系统中将其标记为已接受。