オープンbase_facebook.phpと、このフォームにこの機能を変更します。
protected function getAccessTokenFromCode($code, $redirect_uri = null) {
if (empty($code)) {
return false;
}
if ($redirect_uri === null) {
$redirect_uri = $this->getCurrentUrl();
}
try {
$access_token_response = json_decode(
$this->_oauthRequest(
$this->getUrl('graph', '/oauth/access_token'),
$params = array('client_id' => $this->getAppId(),
'client_secret' => $this->getAppSecret(),
'redirect_uri' => $redirect_uri,
'code' => $code)));
} catch (FacebookApiException $e) {
// most likely that user very recently revoked authorization.
// In any event, we don't have an access token, so say so.
return false;
}
if (empty($access_token_response)) {
return false;
}
if (!isset($access_token_response->access_token)) {
return false;
}
return $access_token_response->access_token;
}
の$ access_token_responseはもはやシリアル化された配列が、JSONです。 JSONを解析し、そこからaccess_tokenを戻す必要があります。