2017-03-05 18 views
0

그래프 API v2.2와 함께 페이스 북 PHP SDK 4.0을 사용하고 있습니다. 나는이 PHP SDK 4.0에서 Graph API v2.8을 사용할 수 있는지 궁금해했다. (PHP 5.2가 내 서버에 설치되어 있고 PHP 5.0을 사용할 수 없다).Facebook PHP SDK 4.0 및 그래프 API v2.8이 가능합니까?

현재, 나는

$facebook = new Facebook(array(
    'appId' => $facebookAppId, 
    'secret' => $facebookSecret 
)); 
$user = $facebook->getUser(); 
if ($user) { 
    $user_profile = $facebook->api('/me'); 
    $user_id = $user_profile['id']; 
} 

내가 API 버전 2.2은 이달 말 중단 될 것이라고 경고 한 사용자 ID를 얻으려면 다음 코드를 사용하여, 나는 API v2로 내 코드를 마이그레이션하는 것을 시도하고있다 .8.

당신에게 대단히 감사합니다.

+1

IIRC SDK v4는 구성/초기화를 통해 API 버전을 지정하는 방법을 제공하지 않았습니다. 원본 파일을 직접 수정하는 데 문제가 없다면 base_facebook.php에서 기본 API 주소를 덮어 쓰는 것이 모든 호출에 대해 API 버전을 지정하는 가장 쉬운 방법 일 것입니다. – CBroe

+0

안녕하세요. 대답 해 주셔서 감사합니다. Facebook 사용자 만 로그인하고 사용자 ID를 가져와야합니다. 그 일을 위해서, 나는 SDK가 필요 없다고 생각합니다. 나는이 간단한 제안 (http://wp-time.com/login-with-facebook-using-api-in-php/)을 찾아 보았고 SDK없이 구현하려고한다. – Hookstark

답변

0

// 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();