我正在尝试通过Facebook的多Qualery FQL实现以下内容,获取我“参加”的所有粉丝页面事件的列表。

我有以下逻辑,并尝试实现与下面的FQL语句相似的东西。

  1. 获取由 /从粉丝页面创建的所有事件的列表(使用特定ID)
  2. 获取我所有(用户)参加的活动的列表
  3. 匹配eid的event_member fql表
  4. 如果它们匹配ID,并且RSVP_STATUS等于参加
  5. 显示结果。

FQL多

{“ query1”:“从事件中选择eid eid(从event_member中选择eid where uid = $ fanpageId)”,“ query2”:“选择rsvp_status in event_member wrev event_member with uid = $ uidand eid in(uidand eid in(select eid eid eid eid eid eid eid eid from#query1)” }

我知道该陈述是不正确的,但是我正在努力尝试这样做。我已经使用PHP代码中的一组非常混乱的foreach循环来实现了这一点。

使用单个多QUL FQL语句将更加有效。

任何建议都很棒。

编辑

我现在有问题的问题是IFAOUR的FQL语句在FQL查询控制台内工作(返回结果),但是当我运行以下内容时,返回空数组。

当我将语句解剖为(从creator = $ fanpageID的事件中选择EID)时,FQL控制台突出显示了不可索引中的EID。

这是我的PHP

函数用户eventspoints($ uid,$ facebook,$ fanpageid){

        $events = "SELECT eid FROM event WHERE creator=$fanpageID AND eid

在(从event_member中选择eid,其中uid = $ uid and rsvp_status = 'ating “ ”)”;

        $eventsAttendance = $facebook->api(array(
              'method' => 'fql.query',
              'query' =>$events, ));

        $eventsAttendingcount = 0;

foreach($ eventattendance as $ eventSattendanceFetch){

    if($eventsAttendanceFetch['eid'] == true){
                $eventsAttendingcount++;
            }
        }
        return $eventsAttendingcount;
   }

blockquote

有任何想法吗?

有帮助吗?

解决方案

这是一个非常简单的任务:

SELECT eid FROM event WHERE creator = $fanpageID AND eid IN (SELECT eid FROM event_member WHERE uid = me() AND rsvp_status = "attending")

这将返回由已创建/拥有的所有事件的ID $fanpageID id,您是(您是)成员(me()),您的身份是 attending.

编辑:
您正在循环返回的数组只是为了获得计数吗?您可以简单地使用:

$eventsAttendingcount = count($eventsAttendance);

还要确保您要匹配的用户已授权您的应用程序并授予您正确的许可!

其他提示

我不确定我知道问题所在 - 我运行了您的FQL语句,然后返回事件列表,然后返回您的RSVP状态?

另一方面,为什么不使用 events.get 方法。您将传递用户ID,它将为您显示事件信息。您可以通过RSVP状态过滤。

刚刚检查和事件。GET方法正在弃用。

您应该使用新的图API,为您提供活动的参与者列表:

http://developers.facebook.com/docs/reference/api/event

您可以通过使用

https://graph.facebook.com/event_id/anting

如果您想获得Facebook登录用户的下一个10个事件,其中设置了事件 attending 然后,您可以这样构建Swift查询:

let graphPath = "/me/events?limit=10&type=attending&since=now"
let params = ["fields": "id, name, category, start_time, end_time, timezone, updated_time, type, attending_count, owner, place"]

let request = GraphRequest(graphPath: graphPath, parameters: params, accessToken: accessToken, httpMethod: .GET, apiVersion: apiVersion)
request.start {}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top