2013-10-06 71 views
0

我想要做這樣的事情:如何使用FQL獲得兩個用戶的相互組合?

SELECT gid from group_member WHERE uid=<uidA> AND gid IN (SELECT gid from group_member WHERE uid=<uidB>) 

這應該給我所有的uidA和UIDB相互組。

問題是,我使用uidA的access_token運行查詢,因此內部SELECT 始終爲空。有一種方法可以提供兩個訪問令牌?

+0

我不知道約兩訪問令牌,因爲我從來沒有見過這樣做。但是,爲什麼不在兩部分中執行此查詢? – RealityDysfunction

+0

我可以做兩件事,但我想確保我以正確的方式做事。 MultiQuery呢?我認爲這是經典的查詢,但我需要提供兩個訪問令牌。 – Mike

+0

FQL multiqueries不支持傳遞不同的訪問令牌;只有[批量請求](https://developers.facebook.com/docs/reference/api/batch/)。但是你仍然需要在你自己的代碼中比較這兩個查詢的結果。 – CBroe

回答

0

有沒有這樣的事情 - 兩個訪問令牌。你可以要求更多的權限,然後你的access_token將允許你訪問更多的Facebook數據取決於你擁有的權限。

在你的情況,你需要問兩個權限:

  • user_groups
  • friends_groups

然後,建立你的access_token和FQL查詢你建會爲你工作。

你可以在這裏找到需要的權限:https://developers.facebook.com/docs/reference/fql/group_member

+0

我擁有正確的權限。也許它不工作,因爲uidA和uidB不是朋友? – Mike

+0

@MichaelAminov,是的,如果用戶不在你的朋友列表中,這是行不通的。只要嘗試運行這個查詢的一部分'SELECT gid from group_member WHERE uid = '不是你的朋友的用戶,你會得到空的結果數據。 – sromku