Szukałem już odpwiedzie na forum, w google; ale nic nie znalazłem :/
Piszę apliakcję na Facebooka wszystko już jest i działa tak jak trzeba jednak z małym wyjatkiem.
Apliakcja potrzebuję dostępu do adresu email oraz możliwości publikowania postów. Dlatego też prosi o odpowiednie uprawnienia.
Teraz robię to w ten sposób

  1. require 'sys/src/facebook.php';
  2. $facebook = new Facebook(array(
  3. 'appId' => 'XXX',
  4. 'secret' => 'XXX',
  5. ));
  6. $id = 'XXXXX';
  7. $user = $facebook->getUser();
  8. //var_dump($user);
  9. if($user){
  10. try {
  11. $likes = $facebook->api("/me/likes/".$id);
  12. if(!empty($likes['data']))
  13. header('Location: home.php');
  14. } catch (FacebookApiException $e) {
  15. echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>';
  16. $user = NULL;
  17. }
  18. }
  19. else
  20. {
  21. $loginUrl = $facebook->getLoginUrl(array(
  22. "scope" => "email,publish_stream",
  23. "redirect_uri" => "url"
  24. ));
  25. echo "<script type='text/javascript'>top.location.href = '".$loginUrl."';</script>";
  26. //header('Location: '.$loginUrl);
  27. }


Jednak po potweirdzeniu przez uzytkiwnika, że chce udostepnić swoje dane jest przenoszony ze strony facebooka do strony podanej w prametrze redirect_uri.
Jak zrboić, żeby wszystko odbywało się w ramach facebooka?

[edit]
Problem rozwiazany wystarczyło dodać na poczayku kod, kora sprawdza czy istnieje zmienna tworzona przy przekierowywaniu aplikacji i przekierowac skrypt do strony aplikacji na facebboku.

  1. if(isset($_GET['code'])){
  2. header("Location: ADRES_APLIKACJI_NA_FB");
  3. }