2013-02-20 23 views
5

Mam aplikację, która ma dostęp do kanałów użytkownika. Mam ustawień aktualizacji w czasie rzeczywistym dla aplikacji na tym tutorialu: http://developers.facebook.com/docs/reference/api/realtime/Pobieranie danych po aktualizacji w czasie rzeczywistym

Zasadniczo gdy postów użytkownika skargę do ich paszy, pomyślnie otrzymywać informacje z Facebook na moje wezwanie z powrotem łącza. Informacje wyglądają tak:

{"object":"user","entry":[{"uid":"629498222","id":"629498222","time":1361371026,"changed_fields":["feed"]}]} 

Moje kłopoty zaczynają się tam. Każdy samouczek, który przeczytałem na temat aktualizacji w czasie rzeczywistym, kończy się dokładnie w momencie, bez wyjaśniania, jak dostać się do prawdziwych danych aktualizacji.

Więc próbuję różne rzeczy, w szczególności następujący fragment kodu, aby uzyskać paszę użytkownika tak, aby uzyskać dostęp do najnowszych post. To jest w moim pliku php na oddzwonienie:

$app_token_url = 'https://graph.facebook.com/oauth/access_token?client_id=' 
       .$app_id.'&client_secret='.$app_secret 
       .'&grant_type=client_credentials'; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $app_token_url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$res = curl_exec($ch); 
parse_str($res, $token); 

if (isset($token['access_token'])) { 
    curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/629498222/feed' 
           .'?access_token=' 
           .$token['access_token']); 
    $res = curl_exec($ch); 
    if ($res && $res != 'null') { 
    print_r($res); 
    } 
} 

Wynik jest nieprzewidziany. Dostaję posty dla tego użytkownika, ale tylko wtedy, gdy są one publiczne. Nie otrzymuję wszystkich wpisów tego użytkownika, mimo że aplikacja ma dostęp do strumienia użytkownika. Każdy pomysł, dlaczego?

Każda pomoc jest bardzo doceniana. Naprawdę potrzebuję sposobu na zakończenie aktualizacji w czasie rzeczywistym przez pobranie rzeczywistych danych od użytkownika, który opublikował aktualizację.

+0

Nie masz dostępu użytkownika Reklamowe Rozszerzone? –

Odpowiedz

0

Podstawowym celem usługi czasu rzeczywistego jest umożliwienie aplikacji wiedzieć, kiedy dane są buforowanie jest nieaktualne i powinny być odświeżane. Nie jest to usługa "subskrypcji zawartości".

Więc kiedy dostaniesz powiadomienie, to oczekuje się, że będzie wtedy zrobić oddzielny wezwanie do aktualnych informacji (na przykład, gdy użytkownik loguje się po raz kolejny). W szczególności do odczytu ze strumienia użytkownika może się zdarzyć, że uprawnienie do odczytu nie zostało przyznane tokenom aplikacji, chociaż nie mogę znaleźć żadnej ostatecznej dokumentacji, aby to potwierdzić. Najbliższy znalazłem to „Inne Możliwości aplikację token dostępu” na dole tej strony https://developers.facebook.com/docs/opengraph/howtos/publishing-with-app-token/

Powiązane problemy