Эта функция работала у меня до тех пор, пока на днях facebook не решил применить некоторые изменения.
function get_facebook_cookie() {
$app_id = '[MyAppID]';
$application_secret = '[MyAppSecrect]';
if(isset($_COOKIE['fbs_' . $app_id])){
$args = array();
parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args);
ksort($args);
$payload = '';
foreach ($args as $key => $value) {
if ($key != 'sig') {
$payload .= $key . '=' . $value;
}
}
if (md5($payload . $application_secret) != $args['sig']) {
return null;
}
return $args;
} else {
return null;
}
}
Мне удалось получить токен доступа пользователей FB так же просто, как
$cookie['access_token']
Теперь мне кажется, что я больше не могу получать эту информацию.
Мне удалось (легко) внести необходимые изменения в свой код javascript, но я немного озадачен на стороне php. В качестве небольшого примечания я использую codeigniter, и у меня было много проблем, пытаясь заставить FB PHP SDK работать хорошо, также я не видел никаких примеров интеграции PHP 3 SDK в codeigniter, поэтому я ищу быстрое и грязное решение, которое позволит мне получить токен доступа из файла cookie, что позволит мне использовать следующий вызов API Facebook:
'https://api.facebook.com/method/friends.getAppUsers?access_token=' . $cookie['access_token'];
Любая помощь приветствуется.