facebook php sdk 4.0.0

时间:2014-05-14 11:36:11

标签: php facebook sdk

我无法通过facebook php sdk获取用户ID:|。有人可以帮帮我吗?这是代码。 我花了4个小时才得到一些结果,但没有。使用sdk 3.2.3工作正常但有4个我无法使其工作。

<?php
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;

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



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

$user_profile = (new FacebookRequest(
  $session, 'GET', '/me'
))->execute()->getGraphObject(GraphUser::className());

echo "Name: " . $user_profile->getName();

} catch(FacebookRequestException $e) {

echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage();

 }   

 // Logged in.

}

2 个答案:

答案 0 :(得分:0)

这样的事情应该有效。您必须转到to your facebook developer panel并通过点击&#34为此应用生成访问令牌;您需要向您的应用授予权限以获取访问令牌。&#34;

然后你的代码应该是这样的:

$session = new FacebookSession('your-token');

try {
  $me = (new FacebookRequest($session, 'GET', '/me'))->execute()->getGraphObject(GraphUser::className());
  echo $me->getName();
} catch (FacebookRequestException $e) {
  // The Graph API returned an error
} catch (\Exception $e) {
  // Some other error occurred
}

答案 1 :(得分:0)

我认为您的应用并没有很好地启动您的应用ID和密码。 但是你不能再使用新的图形api和php sdk获得真正的用户ID。 请阅读their changelog了解详情