2014-01-08 45 views
1

我已經創建了一個與Facebook 3.0 sdk的Android應用程序。我正嘗試使用FQL訪問所有在線的朋友。我使用下面的FQL查詢具有下列權限應用下添加>軟件詳情>應用中心上市平臺 - >配置應用中心的權限 -Facebook online_presence總是說離線

權限:user_status, user_online_presence, friends_online_presence

FQL查詢:

SELECT name, online_presence FROM user where uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 

然而,online_presence對於所有的朋友總是顯示「離線」,儘管其中很少有人在線。

輸出:

{ 
"data": [ 
    { 
     "name": "My Name", 
     "online_presence": "active" 
    } 
] 

}

請人幫助我,如果我失去了一些東西。

回答

0

如果您查詢用戶表,那麼您將獲得所有的朋友結果。如果你有很多朋友,那麼他們中的大多數可能會脫機,使得看起來所有用戶都被報告爲脫機。

如果調整您的查詢只顯示誰是脫機的人,你應該希望得到一些結果:

SELECT name, online_presence FROM user 
where uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 
AND online_presence != "offline" 

請記住,用戶可以控制,如果他們的朋友的應用程序可以看到他們處於在線狀態在apps settings page的「應用程序其他人使用」部分。因此,您的某些朋友可能會在Facebook網站界面中顯示爲在線,但在您的應用查詢該API時不會在線。

enter image description here