我目前正在尝试让Facebook获得一个活动的RSVP,但我真的坚持这个部分:
正如我现在看到的,要获得用户的RSVP,我必须使用以下逻辑发出三个请求:
request eventID/attending/userID ->
if "data" array count == 0 ->
request eventID/maybe/userID ->
if "data" array count == 0 ->
request eventID/declined/userID
else -> means user didn't make any choice previously.
所以在这里看起来我必须向facebook的图形api发出3个请求才能获得用户单一事件的RSVP。
问题是,是否有办法获得执行单个请求的事件的RSVP状态?
我使用最新的Facebook SDK和最新的图表API。
非常感谢提前。
答案 0 :(得分:3)
所以到目前为止最好的解决方案是:
调用eventID /参与(可能/拒绝)/ userID让我们将rsvp过滤为单个用户,因此我们避免在此处下载和处理大量数据。
通话结束后,您有两种选择:
{
"data": [
{
"name": "Oleskii Poplavlen",
"id": "10204715567996406",
"rsvp_status": "attending"
}
]}
{
"data": []
}
因此,当您仍然需要发出多个请求以获取用户的RSVP事件时,您可以避免下载其他用户的rsvps。
希望能帮助别人!
答案 1 :(得分:0)
我可以让你开始在2个电话中完成:
FB.api('/'+ event_id + '?fields=id,attending{rsvp_status},maybe{rsvp_status}', function(event_response){
// here you should make a call to check if the user has the event and if so get the rsvp_status
FB.api('/'+ user_id + '/events?fields=id,rsvp_status', function(user_response){
// check if user has event, then log the rsvp_status
if(user_response.id == event_response.id) {
console.log(user_response.rsvp_status);
} else {
console.log("user is not going");
});
});
我没有对此进行过测试,但我现在已经玩了很长一段时间了。这可能是2个电话中的答案,而不是1个不幸的答案。
第一个电话不需要参加'并且'也许'字段,但测试用它是有用的。