2016-07-28 151 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