2011-08-11 11 views
6

W mojej aplikacji większość publicznych postów wydaje się zwracać "false", gdy dostęp do nich odbywa się za pośrednictwem Graph API.Interfejs API wykresu Facebook zwraca wartość "false", mimo że post jest publiczny.

Przykład: https://graph.facebook.com/1543370206_2215254431220?access_token=XXXX

Ten post jest widoczna publicznie, jeszcze wyżej zapytań zawsze zwraca wartość false.

Zgodnie z podobnymi pytaniami dotyczącymi StackOverflow, próbowałem używać zarówno tokenu dostępu do aplikacji, jak i kilku różnych tokenów dostępu użytkownika OAuth 2.0 z funkcją offline_access, ale bez powodzenia.

Próbowałem również uzyskać dostęp do niego przy użyciu formatu ID placid_postid (jak wyżej) i postid (https://graph.facebook.com/2215254431220?access_token=XXXX), ale bez powodzenia.

Próbuję również ponowić próbę po 24 godzinach, aby upewnić się, że nie przekraczam żadnych limitów API.

Przetestowałem ponad 1000 wpisów publicznych (wiem, że są one publiczne, ponieważ otrzymałem je od Graph API za pomocą metody wyszukiwania, ale mam również pewną losową próbkę w przeglądarce, aby mieć pewność). 75% zwróciło fałsz (niezależnie od tego, czy użyłem tokena dostępu do aplikacji lub tokena dostępu użytkownika).

+0

Proszę dodać link do komentarza na Facebooku. –

+0

http://www.facebook.com/permalink.php?story_fbid=2215254431220&id=1543370206 – pricj004

Odpowiedz

9

Myślę, że go rozwiązałem.

Wpisy, które powracają jako fałszywe, nie są "publiczne" jako takie. Wydają się być widoczne dla każdego użytkownika Facebooka, niezależnie od tego, czy są przyjaciółmi autora. Jednak jeśli nie jesteś zalogowany na Facebooku, nie możesz ich zobaczyć.

Posty, które się powiodły, były naprawdę publiczne. Większość z nich należała do firm itp. I można było zobaczyć, czy jesteś zalogowany na Facebooku, czy nie.

Domyślam się, że Graph API rozróżnia te dwa typy widoczności, np. "Wszyscy na Facebooku" i "Wszyscy w Internecie". Zapoznałem się z ustawieniami prywatności i nie wiem, jak to się stało.

Bez względu na to, dokumentacja ta nie jest dobrze udokumentowana w dokumentacji Graph API. Nie zwraca również "fałszywego" eleganckiego sposobu radzenia sobie z tym błędem. Nie jest też spójne, aby umożliwić mi zobaczenie postu za pomocą wyszukiwania, ale nie wysyłam bezpośrednio zapytania do obiektu.

+0

Czy zdecydowałeś, co zrobić, aby uzyskać dostęp do tych postów? – Stuart

+0

Zgodnie z moją wiedzą, nie można tego zrobić.Nadal możesz je zobaczyć za pomocą przeglądarki, więc przypuszczam, że możesz skasować ekran, ale jest to sprzeczne z T & C. – pricj004

0

Powinieneś rozważyć zgłoszenie błędu na Facebooku. Aby dodać do tego problemu, zauważyłem, że te publiczne wpisy zwracają tylko wartość false, jeśli są postami obiektu użytkownika. Posty według obiektów strony działają zgodnie z oczekiwaniami. Nie robisz niczego złego, jak to się dzieje w Facebook's Graph API Explorer (jest to przykładowy przykład Facebooka dostarczany w dokumencie API do sprawdzania publicznych wpisów).

1

Wiem, że to pytanie ma więcej niż jeden rok - ale wykres zwróci prawidłowy obiekt, jeśli używa się tokenu dostępu do strony.

Otrzymujesz je, prosząc użytkownika o pozwolenie na MANAGE_PAGES, a następnie pobierając połączenie/Konto użytkownika. Każdy wpis w połączeniu będzie zawierał identyfikator strony i znacznik dostępu do strony - ten token pozwoli ci pobrać wszystkie obiekty strony z wykresu. Jeśli użyjesz tokena aplikacji lub tokena użytkownika, zwróci on false.

Powiązane problemy