Postępując zgodnie z instrukcjami zawartymi w dokumentacji rozszerzającej tokeny stron Facebooka, udało mi się uzyskać token dostępu do strony, który nie wygasa.
Sugeruję użycie Eksploratora API Graph dla wszystkich tych kroków, chyba że zaznaczono inaczej.
0. Utwórz aplikację Facebook
Jeśli masz już aplikację , przejdź do kroku 1.
- Przejdź do Moich aplikacji .
- Kliknij „+ Dodaj nową aplikację”.
- Skonfiguruj aplikację internetową.
Nie musisz zmieniać jego uprawnień ani nic. Potrzebujesz tylko aplikacji, która nie zniknie, zanim skończysz korzystać z tokena dostępu.
1. Zdobądź token dostępu krótkoterminowego użytkownika
- Przejdź do Graph API Explorer .
- Wybierz aplikację, dla której chcesz uzyskać token dostępu (w menu rozwijanym „Aplikacja”, a nie w menu „Moje aplikacje”).
- Kliknij „Uzyskaj token”> „Uzyskaj token dostępu użytkownika”.
- W wyskakującym okienku na karcie „Rozszerzone uprawnienia” zaznacz „zarządzanie_stronami”.
- Kliknij „Uzyskaj token dostępu”.
- Udziel dostępu z konta na Facebooku, które ma dostęp do zarządzania stroną docelową. Pamiętaj, że jeśli ten użytkownik utraci dostęp do ostatniego, nigdy nie wygasającego tokena dostępu prawdopodobnie przestanie działać.
Token pojawiający się w polu „Token dostępu” jest tokenem dostępu krótkotrwałego.
2. Wygeneruj Token Długiego Życia
Postępuj zgodnie z instrukcjami z dokumentów Facebooka, zgłoś prośbę GET na adres
https://graph.facebook.com/v2.10/oauth/access_token?grant_type=fb_exchange_token&client_id= {app_id} & client_secret = {app_secret} & fb_exchange_token = {short_lived_token}
wpisanie identyfikatora i hasła aplikacji oraz krótkotrwałego tokena wygenerowanego w poprzednim kroku.
Nie można używać Eksploratora API Graph . Z jakiegoś powodu utknął na tej prośbie. Myślę, że dzieje się tak, ponieważ odpowiedzią nie jest JSON, ale ciąg zapytania. Ponieważ jest to żądanie GET, możesz po prostu przejść do adresu URL w przeglądarce.
Odpowiedź powinna wyglądać następująco:
{ "access_token": " ABC123 ", "token_type": "nośnik", "expires_in": 5183791}
„ABC123” będzie Twoim długowiecznym tokenem dostępu. Możesz go umieścić w narzędziu Debuger tokenu dostępu w celu weryfikacji. W sekcji „Wygasa” powinno być coś w stylu „2 miesiące”.
3. Uzyskaj identyfikator użytkownika
Korzystając z tokena dostępnego przez długi czas, wykonaj polecenie GET na adres
https://graph.facebook.com/v2.10/me?access_token= {long_lived_access_token}
id
Pole jest Twój identyfikator konta. Będziesz go potrzebować do następnego kroku.
4. Uzyskaj token stałego dostępu do strony
Złóż wniosek GET na adres
https://graph.facebook.com/v2.10/ {account_id} / account? access_token = {long_lived_access_token}
Odpowiedź JSON powinna zawierać data
pole, w którym znajduje się tablica elementów, do których użytkownik ma dostęp. Znajdź element strony, z której chcesz uzyskać token stałego dostępu. To access_token
pole powinno mieć token stałego dostępu. Skopiuj i przetestuj w Debugerze tokena dostępu . W polu „Wygasa” powinno być napisane „Nigdy”.