Failed to access my Facebook friend list online.

This is my fql:

$fql = "SELECT uid, name, online_presence, status 
         FROM user 
        WHERE uid IN ( SELECT uid2 FROM friend WHERE uid1 = '".$user_id."') ";

The value online_presencealways returns null.

+5
source share
2 answers

There is an error in your request ...

just replace

WHERE uid IN

to

WHERE 2 IN

Query

$fql = "SELECT uid, name, online_presence, status 
         FROM user 
        WHERE 2 IN ( SELECT uid2 FROM friend WHERE uid1 = '".$user_id."') ";

SQLFiddle Demo

0
source

You cannot get the key value online_presenceif you try to request Facebook without a Facebook access token. For instance:

SELECT uid, name, online_presence, status FROM user WHERE uid IN (4,5,6)

Without a set of access tokens, returns:

{
  "data": [
    {
      "uid": 4, 
      "name": "Mark Zuckerberg", 
      "online_presence": "", 
      "status": null
    }, 
    {
      "uid": 5, 
      "name": "Chris Hughes", 
      "online_presence": "", 
      "status": null
    }, 
    {
      "uid": 6, 
      "name": "Dustin Moskovitz", 
      "online_presence": "", 
      "status": null
    }
  ]
}

Whereas with a set of access tokens it returns:

{
  "data": [
    {
      "uid": 4, 
      "name": "Mark Zuckerberg", 
      "online_presence": "offline", 
      "status": null
    }, 
    {
      "uid": 5, 
      "name": "Chris Hughes", 
      "online_presence": "offline", 
      "status": null
    }, 
    {
      "uid": 6, 
      "name": "Dustin Moskovitz", 
      "online_presence": "offline", 
      "status": null
    }
  ]
}

Make sure that you install a valid Facebook access token (in PHP with the official Facebook SDK, it looks like this:) $facebook->setAccessToken($your_access_token);and have the appropriate permissions to access the data.

, , "", null . .

0

All Articles