2013-04-08 11 views

Odpowiedz

0

wystąpił błąd w zapytaniu ...

prostu zastąpić

WHERE uid IN 

do

WHERE 2 IN 

Zapytanie

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

SQLFiddle Demo

0

Nie można odzyskać wartości klucza online_presence, jeśli próbujesz wysłać zapytanie do Facebooka bez tokenu dostępu Facebook. Na przykład:

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

bez dostępu symbolicznego zestawu, powraca:

{ 
    "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 
    } 
    ] 
} 

Natomiast z token dostępu zestawu, powraca:

{ 
    "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 
    } 
    ] 
} 

Upewnij się, że ustawienie ważnego Facebooka token dostępu (w PHP z oficjalnym pakietem SDK Facebooka wygląda tak: $facebook->setAccessToken($your_access_token);) i ma odpowiednie uprawnienia dostępu do danych.

Pozwolenia są prawdopodobnie przyczyną "statusu" zwracającego null w obu odpowiedziach. Nie przyjaźnię się z panem Zuckerbergiem.

Powiązane problemy