我想通過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