2014-05-14 89 views
-1

我无法通过facebook获取用户ID php sdk:|。任何人都可以帮助我?这是代码。 我花了4个小时来获得一些结果,但没有。与sdk 3.2.3工作正常,但与4我不能得到它的工作。facebook php sdk 4.0.0

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

}

+1

它是否给您一个特定的错误,您可以与我们分享? – Fluffeh

+0

没有错误...只是不工作 – user3636447

+0

什么是不工作 – WizKid

回答

0

这样的事情应该工作。您必须去to your facebook developer panel并通过点击“您需要授予您的应用程序权限以获取访问令牌”来为此应用程序生成访问令牌。

那么你的代码应该是这样的:

$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 
} 
0

我觉得你的应用只是没有很好地与您的应用程序ID和秘密启动。 但你不能再用新的图形api和php sdk获得真实的用户ID。 阅读their changelog的详细信息