我们知道现在不推荐使用offline_access,有人可以告诉我,如果没有这个权限,我们怎样才能获得长期访问权限?
答案 0 :(得分:1)
您可以通过将以下函数添加到base_facebook.php来扩展访问令牌。
//用于扩展标记值的扩展函数。
public function getExtendedAccessToken() {
try {
$access_token_response =
$this->_oauthRequest(
$this->getUrl('graph', '/oauth/access_token'),
$params = array( 'client_id' => $this->getAppId(),
'client_secret' => $this->getApiSecret(),
'grant_type'=>'fb_exchange_token',
'fb_exchange_token'=>$this->getAccessToken(),
));
} catch (FacebookApiException $e) {
return false;
}
if (empty($access_token_response)) {
return false;
}
$response_params = array();
parse_str($access_token_response, $response_params);
if (!isset($response_params['access_token'])) {
return false;
}
return $response_params['access_token'];
}