Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][home.pl] Aplikacja na facebooka
Forum PHP.pl > Inne > Hydepark
baniczek
Witam

Czy moze ktos z forum rozwijal aplikacje na facebooka na serwerach home.pl?
Maja tam problem z certyfikatami ssl (curl wyrzuca wyjatek ze nie autoryzuje certyfikatu - to juz obszedlem), pisalem juz do biura obslugi klienta i na admin@home.pl ale z odpowiedzia sie nie spiesza, a zalezy mi na czasie...
Na tym serwerze jest problem z autoryzacja uzytkownika fb, facebook api php wyrzuca wyjatek ze access_token nie jest aktywny.
Problem ten nie wystepuje na serwerach netstrefa.pl wiec moj blad tutaj nie wchodzi w gre.

Da sie to jakos obejsc?
devnul
Cytat
Problem ten nie wystepuje na serwerach netstrefa.pl wiec moj blad tutaj nie wchodzi w gre.
tego wcale taki pewny nie jestem - to że na jednym serwerze działa a na drugim nie nie znaczy że błędu nie popełniłeś - równie dobrze może to oznaczać ze to co stworzyłeś działa tylko na jakiejś określonej konfiguracji.

wróżek nie ma, pokaż kod, pomyślimy
baniczek
kontroler index (framework Kohana 3):

  1. public function action_index()
  2. {
  3. $this->session->destroy();
  4. $facebook = Facebook::getInstance();
  5. $session = $facebook->getSession();
  6. $uid = NULL;
  7. $me = NULL;
  8.  
  9. if ($session) {
  10. try {
  11. $uid = $facebook->getUser();
  12. $me = $facebook->api('/me');
  13. }
  14. catch (FacebookApiException $e) {
  15. Kohana::$log->add(Kohana::ERROR, Kohana::exception_text($e));
  16. $me = NULL;
  17. }
  18. }
  19.  
  20. $this->model_facebook->insert_user($me);
  21.  
  22. if (isset($me['id'])) {
  23. $user_chosen_gender = $this->model_facebook->user_chosen_gender($me['id']);
  24. $user = $this->model_facebook->get_user_by_facebook_id($me['id']);
  25. } else {
  26. $user_chosen_gender = FALSE;
  27. $user = FALSE;
  28. }
  29.  
  30. if ($user_chosen_gender) {
  31. $this->request->redirect('/action/statistics');
  32. }
  33.  
  34. $content = View::factory('index/index')
  35. ->set('uid', $uid)
  36. ->set('me', $me)
  37. ->set('user_chosen_gender', $user_chosen_gender)
  38. ->set('user', $user);
  39. $this->template->content = $content;
  40. $this->template->set_global('facebook', $facebook);
  41. $this->template->set_global('session', $session);
  42. }


widok:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="en_US">
  3. <title>Wymień pocałunek</title>
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. <meta http-equiv="P3P" href="http://topapp.nanigans.com/p3p.xml#policy" content='CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"' />
  6. <?php echo html::style('media/css/reset.css') ?>
  7. <?php echo html::style('media/css/main.css') ?>
  8. <?php echo html::style('media/css/jScrollPane.css') ?>
  9. <?php echo html::script('media/js/custom-form-elements.js') ?>
  10. <?php echo html::script('media/js/jquery-1.4.2.min.js') ?>
  11. <?php echo html::script('media/js/jScrollPane.js') ?>
  12. <?php echo html::script('media/js/jquery.mousewheel.js') ?>
  13. <?php echo html::script('media/js/scripts.js') ?>
  14. </head>
  15. <div id="fb-root"></div>
  16. <script type="text/javascript">
  17. window.fbAsyncInit = function() {
  18. FB.init({
  19. appId : '<?php echo $facebook->getAppId(); ?>',
  20. session : <?php echo json_encode($session); ?>, // don't refetch the session when PHP already has it
  21. status : true, // check login status
  22. cookie : true, // enable cookies to allow the server to access the session
  23. xfbml : true // parse XFBML
  24. });
  25.  
  26. // whenever the user logs in, we refresh the page
  27. FB.Event.subscribe('auth.login', function() {
  28. window.location.reload();
  29. });
  30.  
  31. };
  32.  
  33. <?php if (strtolower(json_encode($session)) == 'null'): ?>
  34. top.location.href = "<?php echo $facebook->getLoginUrl(array('req_perms' => 'publish_stream', 'next' => 'http://apps.facebook.com/' . Kohana::config('facebook.appName') . '/', 'canvas' => 1, 'fbconnect' => 0)) ?>";
  35. <?php endif; ?>
  36.  
  37. (function() {
  38. var e = document.createElement('script');
  39. e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
  40. e.async = true;
  41. document.getElementById('fb-root').appendChild(e);
  42. }());
  43. </script>
  44. <?php echo @$content ?>
  45. </body>
  46. </html>


rezultat:
w logach informacja "2010-09-20 16:31:35 --- ERROR: FacebookApiException [ 0 ]: An active access token must be used to query information about the current user. ~ APPPATH/classes/facebook.php [ 509 ]", na stronie aplikacji petla przekierowan (sesja == 'null')
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.