【问题标题】:Adding Facebook app stopped working - getsession stopped working添加 Facebook 应用程序停止工作 - getsession 停止工作
【发布时间】:2012-01-10 21:38:16
【问题描述】:

我有一个使用 php sdk 的简单 iframe 应用程序。突然,新的 Facebook 用户无法将其添加为应用程序。 我尝试了新的 php SDK 示例,但没有成功。

一个。我在这里包含代码,如果有人可以给我指点。

b.我愿意雇人来更正。

<?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 } ?>

【问题讨论】:

  • 我认为您只需要通过用户而不是会话登录,阅读此developers.facebook.com/blog/post/503
  • 谢谢。我已经开始进行这些更改,但现在我被困在如何显示请求权限屏幕上。我此时正在捕获登录网址。 点击这里 添加我的应用程序当我单击链接时,什么也没有发生,但是当我将 url 复制并粘贴到地址栏中时,它确实有效。有什么想法吗?

标签: php facebook sdk oauth-2.0


【解决方案1】:

看来您必须将 Facebook php-sdk 更新到最新版本。 请参阅开发者博客上的帖子:Upgrade to PHP SDK v3.0.0

您可能还想阅读帖子:

Breaking Change: JavaScript SDK to oauth:true on December 13th(这可能是您的应用停止工作,和其他许多应用一样,请参阅该帖子的 cmets)

Updated JavaScript SDK and OAuth 2.0 Roadmap

顺便说一句,旧版本的 php-sdk 有函数 getSession,它可能作为 GetSession 工作,但如果你注意变量/函数名称,你会节省很多时间......只是海事组织...

【讨论】:

  • 刚刚在 PHP SDK v3.0.0 中运行了演示,例如。 >>>>>>>>>>> php-sdk 使用由 PHP SDK 处理的 OAuth 2.0 登录:使用 Facebook PHP 会话登录 您未连接。 Naitik Naitik Shah 的公开个人资料
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多