Я пытаюсь следовать новым правилам Facebook относительно продления токена доступа на 60 дней для замены устаревшего разрешения offline_access.
Я следовал за постом в блоге
https://developers.facebook.com/docs/offline-access-deprecation/#extend_token
Явыполнение этого PHP-кода, использующего веб-сервис graph (специально не использующий API-интерфейс facebook, поскольку я расширяю токены клиентов с сервера для дополнительной безопасности)
$ch = curl_init($url);
$url = "https://graph.facebook.com/oauth/access_token?client_id=" . $app_id . "&client_secret=" .$app_secret . "&grant_type=fb_exchange_token&fb_exchange_token=" . $_REQUEST['t'];
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// $output contains the output string
$output = curl_exec($ch);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
, который работает, единственная проблема - он возвращается стот же access_token (что нормально) и срок действия эпохи, установленный на менее чем 24 часа - то есть то же самое время, что и сейчас, поэтому он не расширяет токен.
пример ответа (токен доступа слегка отредактирован)
access_token=BBBCOWPW804EBANG860f0piGXTXMYfY01wXiJgeWHqPdhBcY3g8bCEzYRBiRARARCtX2M2bEi5grt1QalVkTdvaVTrYsYaeyYkOFYDxbncjMDeJf8Vv2V&expires=63918
есть идеи почему?Кстати, я включил параметр переноса offline_access в настройках своего приложения.