Ponieważ Facebook usuwa uprawnienia offline_access, chcę przeprowadzić migrację naszej witryny, aby móc korzystać z nowego systemu.Jak uzyskać długoterminowe tokeny dostępu z interfejsu API Facebooka API (uwierzytelnianie po stronie serwera)?
znalazłem ten dokument na stronie Facebooka: https://developers.facebook.com/roadmap/offline-access-removal
Jednak, kiedy przetwarzać kogoś z uwierzytelniania po stronie serwera, mam tej odpowiedzi:
access_token => BLAHBLAHBLAHdontusemytokensilly
expires => 4992
Podczas próby i użyć punktu Acces (na tym dokumencie) rozszerzyć dostęp żeton więcej niż kilka godzin, otrzymuję ten powrotem:
access_token => BLAHBLAHBLAHdontusemytokensilly
expires => 4990
Według ten dokument, OAuth po stronie serwera powinien otrzymać token, który trwa 60 dni, nie rozumiem, dlaczego nie otrzymuję tego z powrotem.
Naprawdę nie chcę wysyłać naszych użytkowników przez przekierowanie OAuth co 2 godziny.
Wszelkie pomysły? dzięki!
UPDATE
Zgodnie z wnioskiem, o to, że przepływ Biorę (w przeglądarce):
Najpierw przekierowany użytkownik tutaj:
ten przekierowuje użytkownika do:
http://localhost/user-social/facebook/redirect?code=BLAHBLAHBLAHsomeawesomecode#_=_
Potem zwróciła się o dostęp do tokenu tak:
otrzymam ten odpoczynek od Facebooku:
access_token=BLAHBLAHBLAHdontusemytokensilly&expires=4057
To obviosly krótkotrwały żeton. Zgodnie z dokumentacją na Facebooku (powyżej) powinienem otrzymać długo trwający token (ponieważ używam OAuth po stronie serwera).
Jednakże, ponieważ jest krótkotrwały, próbowałem go handlować na długotrwałymi Token:
To właśnie wrócił Facebook:
access_token=BLAHBLAHBLAHdontusemytokensilly&expires=3967
To samo access_token jest zwracana w obu wnioskach.
UPDATE 2
kładę powyższy token dostępu do Facebook Debugger i to właśnie powrócił:
App ID:
BLAHBLAH
User ID:
211800900 : David Barratt
Issued:
Unknown
Expires:
1347303600 (in 40 minutes)
Valid: True
Origin: Web
Scopes: create_event create_note email friends_actions.music friends_actions.news friends_actions.video friends_likes friends_subscriptions manage_pages photo_upload publish_actions publish_stream rsvp_event share_item status_update user_about_me user_actions.music user_actions.news user_actions.video user_events user_interests user_likes user_location user_status user_subscriptions video_upload
UPDATE 3
Po usunięciu wszystkich moich uprawnień i ponownie autoryzować aplikację (zgodnie z sugestią @phwd). Facebook API zwraca to:
access_token=BLAHBLAHBLAHdontusemytokensilly
Czy to oznacza, że zwrócono mi długotrwały kod dostępu? jeśli tak, gdzie jest data wygaśnięcia?
UPDATE 4
Kiedy uruchomić powyższą access_token przez Facebooka Debugger, otrzymuję następujący wynik:
App ID:
BLAHBLAH
User ID:
211800900 : David Barratt
Issued:
1347309538 (39 minutes ago)
Expires:
Never
Valid: True
Origin: Web
Scopes: create_event create_note email friends_actions.music friends_actions.news friends_actions.video friends_likes friends_subscriptions manage_pages photo_upload publish_actions publish_stream rsvp_event share_item status_update user_about_me user_actions.music user_actions.news user_actions.video user_events user_interests user_likes user_location user_status user_subscriptions video_upload
Wydaje się to naprawić pierwotnego problemu, ale to dziwne, że access_tokens są nieokreślone, zamiast trwać przepisane 60 dni.
Jakieś pomysły, dlaczego tak się dzieje?
to nie ma znaczenia, jak długo -żywy token dostępu powinien trwać 60 dni (napisane przeze mnie pytanie mówi, że trwa to tylko kilka godzin). –