Перестал работать приложение Facebook - перестала работать getsession - PullRequest
0 голосов
/ 18 декабря 2011

У меня есть это простое приложение iframe, использующее php sdk.Внезапно новый пользователь Facebook не может добавить его в качестве приложения.Я попробовал новый пример php SDK, но безуспешно.

a.Я включил код здесь, так что, если кто-то может дать мне указатели.Я готов нанять кого-нибудь для исправления.

<?php

require 'facebook.php';

$test = 0;

if ($test == 1) {
   $appCanvasPage = 'https://apps.facebook.com/myapptest/';
   $app_id = "";
   $app_secret = "";
}
else {
   $appCanvasPage = 'https://apps.facebook.com/myapp/';
   $app_id = "";
   $app_secret = "";
}



$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));


$session = $facebook->GetSession();

$loggedin = 0;

echo "status ".$_GET['installed'];
echo "\n\nsession=".$session;

if (!empty($session)) {

   //echo "status ".$_GET['installed'];

   if ($_GET['installed'] == '1') {
      header("Location: $appCanvasPage");
   }

   try {
      $uid = $facebook->getUser();
      $user = $facebook->api('/me');

   }  catch (Exception $e) {}

   if (!empty($user)) {
      $loggedin = 1;
      echo "Hello ".$user['first_name'];
   }
   else {
      $url = $facebook->getLoginUrl();
      echo "<a href='".$url."'> Click Here </a> to Add the Facebook MyApp\n";
   }
}
else {
   //$url = $facebook->getLoginUrl();

   $url = $facebook->getLoginUrl(array('canvas' => 1,
                                       'fbconnect' => 0,
                                       'req_perms' => '',
                                       'next' => $appCanvasPage.'index.php',
                                       'cancel_url' => $appCanvasPage ));  

   echo $url;
   echo "<a href='".$url."'> Click Here </a> to Add the Facebook MyApp\n";
}


?>

<?php if ($loggedin == 1) { ?>
<pre>
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
   <head>

   <script type="text/javascript" language="JavaScript1.2" src="https://www.myappwebsite.com/myapp.js"></script>

   <style type="text/css">
   body {
   width:530px;
   height:600px
   margin:0; padding:0; border:0;
   font: bold 14px Arial, Helvetica, sans-serif;
   }
   </style>
   <meta http-equiv="Content-Type" content="text/html;
   charset=iso-8859-1" />
   </head>
   <body>
   <div id="container">
   <center>
   <table border=0 width="90%" cellspacing="0" cellpadding="0">
   <tr><td align="left">
   <center>
   <table border="0" cellspacing="0" cellpadding="5" width="80%" class="headers2">
   <tr>
      <td valign="top" align="center">

      <h2> MY APP WILL GO HERE </h2>

      </td>
   </tr>
   </table>
   </center>
   </form>


   </center>
   </div>
   </body>
   </html>
<?php } else { ?>

<?php } ?>

1 Ответ

0 голосов
/ 18 декабря 2011

Похоже, вы должны обновить Facebook php-sdk до последней версии.Смотрите пост в блоге разработчиков: Обновление до PHP SDK v3.0.0

Также вы можете прочитать сообщения:

Срочные изменения: JavaScript SDK в oauth:true 13 декабря (вероятно, тогда ваше приложение перестало работать, как и многие другие, см. комментарии к этому сообщению)

Обновлен JavaScript SDK и OAuth 2.0 Roadmap

Кстати, более старая версия php-sdk имела функцию getSession, она может работать как GetSession, но вы сэкономите много времени, если будете обращать внимание на имена переменных / функций ... Просто IMO...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...