Facebook API - Тайм-аут подписки в обратном вызове

У меня действительно странная проблема в PHP с API Facebook. Весь этот код работает на моем тестовом сервере (виртуальный хостинг). Но когда я запускаю его на рабочем сервере (Heroku), я получаю сообщение об ошибке.

Я пытаюсь получать обновления от Facebook в режиме реального времени, когда пользователям моего приложения нравится (или не нравится) новая страница. Это документация, которую Facebook предоставляет: https://developers.facebook.com/docs/graph-api/real-time-updates

Мой код для подписки:

 $facebook = new Facebook(array(
            'appId' => $app_id,
            'secret' => $app_secret,
            'cookie' => true
        ));
  $facebook->api(
                "/" . $app_id . "/subscriptions", "POST", array(
            'object' => 'user',
            'callback_url' => 'http://' . $url . '/rtu/callback',
            'fields' => 'likes',
            'verify_token' => $rtu_verify_token,
            'access_token' => $app_id . "|" . $app_secret
                )
        );

Мой код в обратном вызове:

 if (isset($_GET['hub_verify_token']) && isset($_GET['hub_challenge'])) { 
            $rtu_verify_token = Config::get('variables.rtu_verify_token');
            if (($_GET['hub_verify_token'] == $rtu_verify_token)) {
                echo $_GET['hub_challenge'];
                die();
            }
        }

        $data = file_get_contents("php://input");

        $json = json_decode($data);

Ошибка:

Ошибка проверки обратного вызова FacebookApiException (#2200): Тайм-аут операции истек после 6001 миллисекунды с получением 0 байтов

Я уже проверил переменные app_id, url и app_secret. Опять же, это работает на моем тестовом сервере, но не в Heroku. Я даже пытался не использовать API Facebook и не делать вызов cURL, но получил ту же ошибку.

Я думаю, что, может быть, это как-то связано с Героку, но я не смог найти никаких доказательств.

Спасибо

1 ответ

Ваш сервер должен быть доступен через Интернет и должен обрабатывать параллельные запросы, потому что Facebook отправляет запросы проверки одновременно.

Другие вопросы по тегам