任何Facebook PHP SDK v4.06工作Canvas应用程序示例?无法获得有效的会话

use*_*762 5 php facebook canvas

<?php
// include required files form Facebook SDK
require_once( 'Facebook/FacebookSession.php' );
require_once( 'Facebook/FacebookCanvasLoginHelper.php' );
require_once( 'Facebook/FacebookRedirectLoginHelper.php' );
require_once( 'Facebook/FacebookRequest.php' );
require_once( 'Facebook/FacebookResponse.php' );
require_once( 'Facebook/FacebookSDKException.php' );
require_once( 'Facebook/FacebookRequestException.php' );
require_once( 'Facebook/FacebookPermissionException.php' );
require_once( 'Facebook/FacebookOtherException.php' );
require_once( 'Facebook/FacebookAuthorizationException.php' );
require_once( 'Facebook/GraphObject.php' );
require_once( 'Facebook/GraphSessionInfo.php' );
require_once( 'Facebook/GraphUser.php' );
require_once( 'Facebook/GraphLocation.php' );
include ("fns.php");

use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookCanvasLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookOtherException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\GraphSessionInfo;
use Facebook\GraphUser;
use Facebook\GraphLocation;
// start session
session_start();

// init app with app id and secret
FacebookSession::setDefaultApplication( 'XXXXXXXXXXx','yyyyyyyyyyyyyyyy' );

$helper = new FacebookCanvasLoginHelper();

try {

          $session = $helper->getSession();



} catch (Exception $ex) {
 // echo $ex->getMessage();

}

if($session)
{
    $request = new FacebookRequest( $session, 'GET', '/me' );
    try{

         $response = $request->execute();
         $graphObject = $response->getGraphObject();
         //echo  print_r( $graphObject, 1 );
         $fid = $graphObject->getProperty('id'); echo $fid;
         $femail = $graphObject->getProperty('email'); echo $femail;
         $ffirst_name = $graphObject->getProperty('first_name'); echo $ffirst_name;
       } catch (Exception $ex) {
       // echo $ex->getMessage();

       }
}
Run Code Online (Sandbox Code Playgroud)

?>

首先,我不是一个专家PHP编码器,所以我不了解很多东西,但我知道如何使用一个工作示例.我制作了一个工作正常的Canvas应用程序.然后我安装了ssl,它不再有效.代码本身是我解决问题的努力的一个烂摊子.

我是否可以使用最新的4.06 PHP SDK,使用FacebookCanvasLoginHelper获取echos用户公共数据的工作示例?如果我能看到的话,我可以从那里接受它.

从V4.0开始,getsession()似乎不再起作用.在V4.06中,它应该被修复,但我仍然无法使它工作.

提前致谢

编辑

我已经添加了相关代码.调试后,我发现看起来$ session无效或者因为代码执行永远不会超过"$ request = new FacebookRequest($ session,'GET','/ me');".在那之后我似乎无法得到任何回应.请任何帮助非常感谢.

use*_*891 0

如果它以前有效并且您更改为 SSL,那么唯一会导致错误和缺少会话的事情是重定向不匹配。

您的旧应用程序重定向将是http,新应用程序重定向将是https

更改 Facebook 应用程序以反映应用程序重定向设置中的此更改。