我创建了2个facebook应用,托管在同一个外部域中。我已经在我的facebook页面中安装了这两个应用程序,在这两个应用程序中,我在开始时运行以下php代码:
<<
当我运行每个应用程序时,显示的用户标识对于除用户标识之外的所有属性都是相同的:
一个app 1,我明白了:
session_start();
// added in v4.0.0
require_once 'autoload.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;
use Facebook\Entities\AccessToken;
use Facebook\HttpClients\FacebookCurlHttpClient;
use Facebook\HttpClients\FacebookHttpable;
// start session
// init app with app id and secret
FacebookSession::setDefaultApplication( 'xxx','yyy' );
// login helper with redirect_uri
$helper = new FacebookRedirectLoginHelper('https://apps.facebook.com/my_namespace/' );
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 '<pre>' . print_r( $graphObject, 1 ) . '</pre>';
}
else
{
// show login url
echo '<a href="' . $helper->getLoginUrl() . '" target="_top">Login</a>';
}
( [backingData:protected] =&gt;排列 ( [id] =&gt; 1400416826952138 [email] =&gt; my_name@gmail.com [first_name] =&gt;名称 [性别] =&gt;女 等
在app 2上,我看到了:
Facebook\GraphObject Object
( [backingData:protected] =&gt;排列 ( [id] =&gt; 1397126750614479 [email] =&gt; my_name@gmail.com [first_name] =&gt;名称 [性别] =&gt;女 等
由于我在两个应用中使用相同的用户(我的帐户),为什么同一个用户帐户有2个不同的ID?
由于
纳特