2010-05-25 21 views
7

有誰知道我如何獲得Facebook頁面擁有(創建)的活動列表?獲取Facebook頁面擁有的活動列表

我似乎能夠使用「圖形api」生成一個實體出席事件的列表。我也看過FQL,但似乎要求'where'子句是一個可索引字段(並且,自然,id是唯一的可索引字段)。

對於獎勵積分,我們可以在沒有任何身份驗證的情況下執行此操作。 (雖然我已經辭職了,但我很可能需要至少一個永久的access_token。)

如果有人知道如何做到這一點,我會永遠感激。

回答

5

所有FQL數據訪問requir es認證,所以忘掉那些「獎勵積分」。

這將需要一些查詢後處理,正如您所說,FQL WHERE子句僅尊重可索引字段且owner.id字段不可索引。因此,我們首先確定用戶是「成員」的事件,並加載這些事件的所有者信息。

SELECT id, name, owner.id FROM event WHERE id IN (SELECT eid FROM event_member WHERE uid = XXX) 

一旦查詢返回的數據集,我們必須手工檢查中owner.id等於uid行。

+0

這是真正回答問題的答案,應該得到賞金。不幸的是,我被我的電腦帶走,無法接受我手機上的答案。對不起達斯汀。 – 2010-06-07 10:56:58

+0

哈哈優秀:) – defines 2010-06-07 22:09:55

+0

ID不是事件表的成員 – 2011-03-15 15:33:50

1

看起來你必須先查詢event_member表,使用UID

http://developers.facebook.com/docs/reference/fql/event_member

,然後,一旦你得到了你可以查詢事件表所在的EID被索引 http://developers.facebook.com/docs/reference/fql/event事件的EID

,我敢肯定,你可以使用第一個作爲第二查詢的子查詢像var query = FB.Data.query("select name from event where eid in (select eid from event_member where uid = {0})", user_id);

+0

你能得到它的工作名稱的情況下你想要的信息?我收到錯誤,因爲uid不可索引。 – 2010-05-31 11:21:33

+0

請參閱我對上述答案的編輯。我認爲這個查詢看起來像FB.Data.query(「select name from event where eid in(select eid from event_member where uid = {0})」,user_id); – Raine 2010-05-31 13:10:13

+0

這將返回實體擁有,正在參加或僅被邀請的事件的名稱。必須有另一個步驟 - 見達斯汀的答案。 – 2010-06-07 10:58:14

1

這一個做它

從事件,其中創作者選擇EID = 「$ facebookPageId。」和eid in(select eid from event_member where uid =「。$ facebookPageId。」)ORDER BY start_time DESC

0

此鏈接在FB事件上有很好的教程,還有很多關於C#的內容。

http://blog.impact-works.com/2011/07/

但他使用,他創造了一個DLL。但是,只要您從博客中獲得創意,就可以使用Facebook c#Sdk開發您想要開發的任何內容。

所有這些信息對您都有效IFF您正在使用c#開發我的朋友。