Facebook PHP SDK 4.0和Graph API v2.8有可能吗?
问题描述:
我使用Facebook PHP SDK 4.0以及Graph API v2.2。我想知道是否可以使用Graph API v2.8和这个PHP SDK 4.0(我已经在我的服务器上安装了PHP 5.2并且我不能使用PHP SDK 5.0)。Facebook PHP SDK 4.0和Graph API v2.8有可能吗?
目前,我使用下面的代码来获取用户ID
$facebook = new Facebook(array(
'appId' => $facebookAppId,
'secret' => $facebookSecret
));
$user = $facebook->getUser();
if ($user) {
$user_profile = $facebook->api('/me');
$user_id = $user_profile['id'];
}
我被警告的API V2.2将在本月下旬过时,我想我的代码迁移到API第2版0.8。
非常感谢。
答
//初始化Facebook PHPSDK5和v2.8。
$fb = new Facebook\Facebook([
'app_id' => 'xxxxxxxxxxxx',
'app_secret' => 'xxxxxxxxxxxxxxxxxxxxxxxx',
'default_graph_version' => 'v2.8',
]);
$helper = $fb->getRedirectLoginHelper();
try {
$accessToken = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// There was an error communicating with Graph
echo $e->getMessage();
exit;
}
if (isset($accessToken)) {
// Logged in.
$_SESSION['facebook_access_token'] = (string) $accessTokenLong;
}
$fb->setDefaultAccessToken($_SESSION['facebook_access_token']);
$me = $fb->get('/me');
$me_array = $me->getGraphEdge()->asArray();
IIRC SDK v4未提供通过配置/初始化指定API版本的方法。如果您没有直接修改源文件的问题,覆盖base_facebook.php中的基本API地址可能是指定所有调用的API版本的最简单方法。 – CBroe
嗨。非常感谢您的回答。 我只需要让Facebook用户登录,并获得他们的用户ID。为了这个任务,我怀疑我不需要SDK。我一直在浏览这个简单的提案(http://wp-time.com/login-with-facebook-using-api-in-php/),我正在考虑在没有SDK的情况下实现它。 – Hookstark