Wpis z mikrobloga

#facebook #webdev #facebookapi

Mirki, walczę z tym od godziny i nie mogę ogarnąć. Mam na stronie logowanie przez facebook api. Wszystko działało OK do dzisiaj.

Teraz przy niektórych kontach dostaję: The access token is invalid since the user hasn't engaged the app in longer than 90 days.

W ustawieniach konta, aplikacja nie jest nieaktywna, dane są wszystkie granty, etc. Przy próbie logowania, dostaję token, ale nie mogę pobrać danych profilu (w tym ID).

Ktoś ma może dzisiaj podobny problem? Niektóre konta działają OK, a niektóre nie. Facebook coś majstrował ostatnio z API i właśnie z tokenami, ale nigdzie nie mogę znaleźć informacji co tak naprawdę zmienili.
  • 2
@nadmuchane_jaja: Przybywam z pomocą.

Otóż po aferze z Cambridge Analytica Facebook wycofał "bezterminowe tokeny", czyli użytkownik po 90 dniach musi ponownie zalogować się do aplikacji i potwierdzić wszystkie uprawnienia.
Jeżeli zalogowałeś się przez przycisk ponad 3 miesiące temu, to wystarczy, że usuniesz appkę z poziomu ustawień i zalogujesz się do niej ponownie.
Teraz jako tako nie otrzymasz ID profilu, a ID użytkownika w Twojej aplikacji.
Jak masz jakieś pytania, pisz śmiało.
@mariobit: już sobie poradziłem, dopisałem dla takich 'wyjątków' reautentykację po stronie facebooka (sztucznie) odpytuję o jakiś losowy parametr, którego wcześniej nie pytałem i facebook kieruje usera do ponownej akceptacji dostępu - to chyba był jakiś bug (którego naprawili 2 maja, ale #!$%@?ło się ponownie), który nawet 'aktywne' aplikacje blokował jako wygasłe... sam testowałem i na 3 kontach facebooka działała mi autentykacja, a na dwóch pozostałych odrzucało... teraz jest cacy :)