我想通过Facebook的Multiquery FQL实现以下功能,获取我参加的所有粉丝页事件的列表。Facebook FQL - 所有的粉丝页用户参加的活动
我有下面的逻辑,并试图用下面的FQL语句实现类似的东西。 (使用特定ID)由/从粉丝页面创建的所有事件的
- 获取列表
- 让我所有的(用户)事件的参加
- 匹配EID的从event_member FQL表列表
- 如果它们匹配ID,并且rsvp_status等于参加
- 显示结果。
FQL多
{ “QUERY1”: “SELECT EID FROM事件WHERE EID IN(SELECT EID FROM event_member 其中uid = $ fanpageID)”, “QUERY2”:“SELECT rsvp_status从event_member WHERE 的uid = $ uidAND EID IN (SELECT EID FROM#QUERY1)“}
我知道说法是不正确的,但我挣扎试图做到这一点。我已经通过Graph API使用我的PHP代码中的一组非常复杂的foreach循环实现了这一点。
使用单个多查询FQL语句会更有效率。
任何建议将是伟大的。现在有
编辑
问题IM,是ifaour的FQL语句工作的FQL查询控制台(返回结果)内,但是当我运行下面,并返回空数组。
当我将该语句解析为(SELECT eid FROM event WHERE creator = $ fanPageID)时,FQL控制台将突出显示非可索引中的eid。
这是我的PHP
功能usersEventsPoints($ UID, $脸谱,$ fanpageID){
$events = "SELECT eid FROM event WHERE creator=$fanpageID AND eid
IN(SELECT EID FROM event_member WHERE 的uid = $ UID和rsvp_status = \ “出席\”)“;
$eventsAttendance = $facebook->api(array( 'method' => 'fql.query', 'query' =>$events,)); $eventsAttendingcount = 0;
的foreach ($ eventsAttendance为$ eventsAttendanceFetch){
if($eventsAttendanceFetch['eid'] == true){ $eventsAttendingcount++; } } return $eventsAttendingcount; }
块引用
什么想法?
非常感谢Barry的帮助,我最初使用图形api编写了一个脚本来交叉引用在事件和用户上发现的那些id。谢谢ifaour,你的方法完美无缺。我的偏见意味着这将是一个多查询FQL声明而不是单个声明。非常感谢你!。 – clazzy 2011-01-26 16:04:43