2016-07-28 145 views
1

我曾尝试以下方式 enter image description here如何获取Graph Api的长期访问令牌对于PHP的facebook SDK?

,但我得到错误“访问令牌不属于申请” 我检查了很多时间在我的应用程序ID和secrt ID,应用程序ID是正确的,但这个错误一次又一次地显示我没有确定这个错误?并且还我已经尝试下面的方式也

https://graph.facebook.com/v2.2/oauth/access_token?grant_type=fb_exchange_token&client_id=CLIENT_ID & client_secret = SECRED CODE & fb_exchange_token = EAACEdEose0cBAJRZCZBIaDmW3oOO6SHaOkQLKdgyjp1evGoQ19mYcZCXu5wWLwZABJUbV77tjPjiE2pac2fDEmjM1tZAZB8hflSyERXFWIZB2DtzZAGSgVX6Ukb0ZAZAzd6pohnZBXU0T2aqYwf1umUxsfgHQXBNmM15yhdZBG2Br

+0

您是否从Graph API Explorer的下拉列表中选择了自己的应用程序? – CBroe

+0

是的,我创建了一个新的应用程序,并获取应用程序ID和密码... –

回答

2

PHPsdk 5和V2.8

$fb = new Facebook\Facebook([ 
    'app_id'    => 'xxxxxxxxx', 
    'app_secret'   => 'xxxxxxxxxxxxxxxxxxxxxxxxxxx', 
    '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; 
} 

$client = $fb->getOAuth2Client(); 
try { 
    // Returns a long-lived access token 
    $accessTokenLong = $client->getLongLivedAccessToken($accessToken); 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
    // There was an error communicating with Graph 
    echo $e->getMessage(); 
    exit; 
} 

if (isset($accessTokenLong)) { 
    // Logged in. 
    $_SESSION['facebook_access_token'] = (string) $accessTokenLong; 
} 

参考URL:https://www.sammyk.me/upgrading-the-facebook-php-sdk-from-v4-to-v5