Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Facebook API - problem z dostępem
Forum PHP.pl > Forum > PHP
Matrix12
Mam taki problem otóż korzystam z API facebooka gdzie wysyłam posty na strone


  1. <?php
  2.  
  3.  
  4. require 'vendor/autoload.php';
  5.  
  6. use Facebook\FacebookSession;
  7. use Facebook\FacebookRequest;
  8. use Facebook\GraphUser;
  9. use Facebook\FacebookRequestException;
  10. use Facebook\FacebookRedirectLoginHelper;
  11.  
  12. FacebookSession::setDefaultApplication('ID_APP','SECRET_CODE');
  13. $session = new FacebookSession('TOKEN APP');
  14.  
  15. $redirect_url ='http://www.example.pl/facebook2/index3.php';
  16.  
  17.  
  18. try {
  19.  
  20.  
  21. if($session) {
  22. try {
  23.  
  24. $response = (new FacebookRequest(
  25. $session, 'POST', '/PAGE_ID/feed', array(
  26. 'link' => 'www.exa2mple.com',
  27. 'picture'=>'https://2guiajapg.files.wordpress.com/2012/06/picure.jpeg?w=610',
  28. 'message' => '12localhost User provided message2'
  29. )
  30. ))->execute()->getGraphObject();
  31.  
  32.  
  33.  
  34.  
  35. } catch(FacebookRequestException $e) {
  36. echo "Exception occured, code: " . $e->getCode();
  37. echo " with message: " . $e->getMessage();
  38.  
  39.  
  40. }
  41. }else{
  42. $helper = new FacebookRedirectLoginHelper($redirect_url);
  43. echo '<a href="' . $helper->getLoginUrl(['manage_pages']) . '">Login</a>';
  44. }
  45.  
  46.  
  47.  
  48. } catch (FacebookRequestException $e) {
  49. // The Graph API returned an error
  50. var_dump('// The Graph API returned an error');
  51. //
  52.  
  53.  
  54. } catch (\Exception $e) {
  55. // Some other error occurred
  56. //
  57. var_dump('Exception');
  58. }




I problem mam taki, że jak skorzystam z Facebook GraphAPI i w nim wybiorę AccessToken(wtedy tez zmienia się TOKEN APP i jak ten TOKEN_API przekleję do kodu to wtedy elegancko wysyła. Jeżeli tego nie zrobie to mam że użytkownik nie zautoryzowany kod #200.

Mam pytanie czy za każdym razem tak muszę robić czy jest na to obejście?
thek
Sam popatrz co znaczy 200... Brak autoryzacji. A czemu? Bo tokeny mają krótki czas życia. A jak chcesz uwierzytelnić inaczej, że masz uprawnienia do tego co chcesz zrobić? wink.gif Musisz odnowić token. A jak? To już poczytaj w FB API.
Matrix12
Okej ale co ja mam odnawiać token po 2-3 dni ? Nie ma jakiegoś uniwersalnego? Ogólnie to nie działa mi page token tylko user token..
thek
2-3 dni? Zależy od tego jaki... bo są dwa. short na jakąś godzinę i long na 60 dni. Ogólnie to ja się dziwię czemu nie korzystasz z dokumentacji. Tam masz cały flow opisany co i jak... https://developers.facebook.com/docs/facebo...ow-for-web/v2.4 a co do sesji i tokenów to https://developers.facebook.com/docs/facebo...kens#usertokens więc czy to trochę nie lenistwo z Twojej strony?
trueblue
Czy ktoś ma sprawdzone informacje co do longlive token?
Nie mogę uzyskać dokładnej informacji. Chciałbym postować na wall z crona.
Z dokumentacji i kilku komentarzy wynika, że jego wymagane jest jego odświeżenie manualne, a w przypadku iOS, Android i JS SDK token jest odświeżany automatycznie. Znalazłem również jeden komentarz, w którym użytkownik pisał, że ten token nigdy mu nie wygasł (korzystając z PHP SDK: https://www.reddit.com/r/webdev/comments/2y...ess_tokens_on/).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.