2013-03-29 9 views
8

Mam aplikację, która odświeża informacje o aplikacjach Facebook w pewnym momencie, powiedzmy raz dziennie i zapisuje je w bazie danych. Niektóre strony, z których aplikacja próbuje uzyskać informacje, są ograniczone do wieku i sytuacja staje się skomplikowana.Uzyskiwanie informacji za pomocą zadania cron na Ograniczone wiekiem Strony fanów na Facebooku

Do tej pory odkryłem, że jednym ze sposobów jest uzyskanie informacji o stronie z użytkownikiem access_token.

Np .: https://graph.facebook.com/BrandCigarettes?access_token= {user_access_token}

Ale to jest niemożliwe, ponieważ aplikacja powinna uruchomić się raz dziennie i znacznik jest ograniczony czas (domyślnie dwie godziny) i offline tokeny dostępu nie są już dostępne.

Czy jest jakiś sposób to zrobić?

+0

Możesz przedłużać krótkotrwałe tokeny do 60 dni, https://developers.facebook.com/roadmap/offline-access-removal/ – CBroe

Odpowiedz

1

Żetony normalne zwykle wygasają po dwóch godzinach, ale z krótkim żetonem na żywo można zażądać nowego żetonu na żywo, który będzie trwał 60 dni.

Po pobraniu wystarczy zapisać identyfikator użytkownika i odpowiedni rozszerzony token w bazie danych, więc jeśli chcesz uzyskać informacje o niektórych stronach, nie musisz tego robić dla każdego użytkownika aplikacji , po prostu musisz zrobić to dla siebie, możesz utworzyć prywatny obszar w swojej aplikacji, gdzie będziesz co 59 dni tylko po to, aby odnowić token.

Aby wymienić krótkotrwały token dostępu przez długi jednego tylko zrobić wniosek do wykresu API

https://graph.facebook.com/oauth/access_token?    
    client_id=APP_ID& 
    client_secret=APP_SECRET& 
    grant_type=fb_exchange_token& 
    fb_exchange_token=EXISTING_ACCESS_TOKEN 

W tej kwestii przyjął odpowiedź wyjaśnia, jak to zrobić bez użycia C# facebook SDK

Feed Offline Access

Jak skomentował CBroe, ja też radzę zapoznać się z dokumentacją Facebooku o rozszerzonych tokenów

https://developers.facebook.com/roadmap/offline-access-removal/

+0

Dziękuję za odpowiedź. Ale problem nadal istnieje, potrzebuję aplikacji do pracy dla siebie. W ten sposób, jeśli zmienię uprawnienia na moim koncie, zmienię hasło lub po 60 dniach będę musiał dostarczyć nowy token dostępu. – Pece

+1

Przykro mi z powodu złych wiadomości, ale to jedyny sposób. Dla każdego żądania do api wykresu potrzebny jest ważny token dostępu, a 60 dni to maksymalny żeton życia. Jeśli problem wynika z przekierowania hasła do konta lub uprawnień, dlaczego nie utworzysz w tym celu "fałszywego" konta? –

+0

Tak, myślałem o tym i to jest pewne rozwiązanie, ale wciąż musi dostarczyć nowy token dostępu w ciągu 60 dni. Coś, czego próbowałem uniknąć. – Pece

Powiązane problemy