Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][Facebook] Autoryzacja i pobieranie danych użytkownika
Forum PHP.pl > Forum > Przedszkole
sweter
Witam,
napisałem prościutką aplikację na FB wymagającą uprawnień do dodawania postów na Tablicy. Autoryzacji dokonuję takim linkiem (zaczerpniętym z dokumentacji):
Cytat

1. problem:
Gdy odpalę aplikację jako osobną stronę (czyli w adresie przeglądarki mam http://127.0.0.1/cośtam) i kliknę w powyższy link to jestem pytany o pozwolenie do wykorzystywania uprawnień. Akceptuje i w moim profilu, w ustawieniach pojawia się dana aplikacja - czyli wszytko poszło dobrze.
Gdy jednak odpalę stronę w ramce na FB i klikam w powyższy link, to (cały czas w ramce) przekierowuje mnie do strony z logiem FB i napisem "Idź do strony głównej".
2. problem:
Gdy aplikację mam dodaną do swojego profilu, to nie mogę pobrać udostępnionych przeze mnie danych. Wykorzystuję do tego ten kod:
  1. include_once "fbmain.php";
  2. $facebook = new Facebook(array(
  3. 'appId' => 'xxx',
  4. 'secret' => 'xxx',
  5. 'cookie' => true,
  6. ));
  7.  
  8.  
  9. $session = $facebook->getSession();
  10. if ($session) {
  11. try{
  12. // pobieramy informacje o użytkowniku
  13. $uid = $facebook->getUser();
  14. $me = $facebook->api('/me');
  15.  
  16. }catch(FacebookApiException $e){
  17. error_log($e);
  18. }
  19. }

Niestety if się nie wykonuje, bo var_dump($session) zwraca mi "false" sad.gif

Proszę o rady w jaki sposób mogę naprawić powyższe błędy.
Z góry dziękuję smile.gif
lobopol
Z tego co kojarzę to aplikacja odpalana w ramce, nie przekieruje poprawnie na logowanie używając header(location:) po tym ifie powinieneś dodać
  1. echo '<script type='text/javascript'>top.location.href = 'https://www.facebook.com/login.php?api_key=xxx&cancel_url=ADRESAPLIKACJI&display=page&fbconnect=0&next=GDZIEMAPRZEJSCPOZALOGOWANIU&return_session=1&session_version=3&v=1.0&canvas=1&req_perms=email%2Cpublish_stream';</script>';


To nie jest raczej pełna składnia bo nie mam teraz dostępu do plików, ale powinno ciebie to naprowadzić na rozwiązanie, bodaj w api masz coś takiego jak login url to to wstaw do tego top.location.href=
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.