Facebook登录PHP sdk 4.4

时间:2014-09-17 19:42:07

标签: php facebook sdk

我一直在尝试测试Facebook PHP登录系统,但不断收到错误:

  

解析错误:语法错误,第146行/xxxxx/httpd.www/Facebook/FacebookRedirectLoginHelper.php中的意外T_OBJECT_OPERATOR

我已经阅读了几个不同的例子,并尝试在第一次遇到这个之后实现每个例子以及在这里阅读不同的问题/答案都无济于事。

如果有人碰到这个并找到解决方案或知道解决方案,我会非常感谢指针。

编辑添加了当前代码。

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

require_once( 'Facebook/FacebookSession.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/FacebookAuthorizationException.php' );
require_once( 'Facebook/GraphObject.php' );

use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;


// login helper with redirect_uri
$helper = new FacebookRedirectLoginHelper( 'http://somesite.com/index.php' );

try {
  $session = $helper->getSessionFromRedirect();
} catch( FacebookRequestException $ex ) {
  // When Facebook returns an error
} catch( Exception $ex ) {
  // When validation fails or other local issues
}

// see if we have a session
if ( isset( $session ) ) {
  // graph api request for user data
  $request = new FacebookRequest( $session, 'GET', '/me' );
  $response = $request->execute();
  // get response
  $graphObject = $response->getGraphObject();

  // print data
  echo  print_r( $graphObject, 1 );
} else {
  // show login url
  echo '<a href="' . $helper->getLoginUrl() . '">Login</a>';
}

1 个答案:

答案 0 :(得分:1)

我和你有同样的问题。你不能使用&#34; include&#34;喜欢旧版本。在v4.4中,他们使用它:

define('FACEBOOK_SDK_V4_SRC_DIR', '/path/to/facebook-php-sdk-v4/src/Facebook/');
require __DIR__ . '/path/to/facebook-php-sdk-v4/autoload.php';

然后,和你一样

    use Facebook\FacebookSession;
    use Facebook\FacebookRequest;
    use Facebook\GraphUser;
    use Facebook\FacebookRequestException;

就是这样! 参考:Facebook SDK for PHP