2011-01-11 11 views
8

Używam php sdk na mojej aplikacji na Facebooku i pytam o wymagane zezwolenie rozszerzone. mogę Wszystkie stany aktualizację z użytkownikiem, którzy korzystają z mojej aplikacji od wywołanie APIJak zdobyć kanał wszystkich znajomych z Facebooka Graph API

$statuses = $facebook->api('/me/statuses?limit=0');

Ale kiedy mogę używać tej samej metody z przyjacielem tego użytkownika.

$friendStatuses = $facebook->api('/'.$user_id.'/statuses?limit=0');

Mam pustą tablicę. Próbowałem nie używać "? Limit = 0", ale wynik jest nadal taki sam.

Próbowałem również użyć

$friendFeed = $facebook->api('/'.$user_id.'/feed?limit=0');

i dostał jakiś kanał z tym użytkownikiem, ale nie wszystkie. Nawet jeśli zmienię "? Limit = 0" na "limit = 1000", ale otrzymany kanał ma około 500 pozycji, ale ten użytkownik ma na pewno więcej kanałów.

Moja praca ma na celu zbieranie statusów użytkowników i znajomych oraz grupowanie ich.

+0

prawdopodobnie związane: http://stackoverflow.com/questions/4622096/facebook-graph-api-feeds-missing-in-json- Odpowiedź/ – ifaour

Odpowiedz

4

Właściwym sposobem na uzyskanie paszy przyjaciel autora jest ostatni przykład użyłeś:

$friendFeed = $facebook->api("/{$user_id}/feed?limit=0"); 

Jeśli otrzymujesz niektóre z elementów zasilających, ale nie wszystkie z nich są oczekiwano, możliwe jest nie masz odpowiednich uprawnień. Uprawnienie read_stream do wyświetlania postów niepublicznych, więc spróbuj dwukrotnie sprawdzić, czy masz uprawnienie do odczytu. można sprawdzić, uruchamiając zapytanie FQL:

SELECT read_stream FROM permissions WHERE uid = me() 

nie jestem 100% pewien, w jaki sposób to zrobić z SDK, którego używasz, ale będzie to prawdopodobnie:

$readStream = $facebook->api("/method/fql.query?query=SELECT+read_stream+FROM+permissions+WHERE+uid+=+me()"); 

Powodzenia !


Możesz przeczytać więcej o uruchamianiu zapytań FQL here. Można uzyskać więcej informacji na temat tabeli uprawnień here.
Możesz przeczytać więcej na temat obiektu użytkownika api z interfejsem użytkownika, który jest dostępny pod adresem .

+0

Próbuję wysłać zapytanie do uprawnienia do odczytu i otrzymałem "[read_stream] => 1" oznacza, że ​​już pytam o odpowiednie uprawnienia. – naokikun

+0

Uwaga do wersji: od 2016 (Graph API v2.5), 'limit = 0' będzie teraz zwracał wynik 0, a uprawnienie' read_stream' jest zamieniane na 'read_posts' – Raptor

0
$num = 0; 
$result = $facebook->api(array('method' => 'fql.query', 'query' => 'SELECT uid2 FROM friend WHERE uid1=me()')); 
foreach($result as $photo){ 
$num++; 
} 

wykorzystanie tego, że jest to szybsze liczyć znajomych

+0

Uważam, że oryginalny plakat próbował zrobić więcej niż tylko liczyć czyjeś przyjaciół. –

+1

FQL jest przestarzałe, więc nie używaj fql. –

Powiązane problemy