У меня есть приложение iframe для Facebook, которое является полностью внешним. Под этим я подразумеваю, что, как только пользователь обращается к URL-адресу холста для загрузки приложения, все ссылки в приложении iframe переходят на мои серверы, а страница canvas никогда не обновляется, если пользователь не перейдет в другое место на Facebook и не вернется (или обновляется браузер).
При начальной загрузке приложения, где Facebook создает iframe, я получаю все обычные параметры, такие как fb_sig_user, который позволяет мне создать сессию внутреннего приложения на основе пользователя facebook. Этот сеанс приложения (который не является сеансом Facebook, это мой собственный сеанс приложения) - все, что мне нужно, чтобы позволить пользователю работать с приложением.
Проблема возникает через час. Если пользователь покидает компьютер или использует приложение более часа, сеанс Facebook истекает. Существуют некоторые страницы приложений, для которых требуется получение информации о друге, и как только сеанс FB истек, эти страницы ломаются, выкидывая ошибки, такие как "Ошибка: ключ сеанса недействителен или больше не действителен".
Мой вопрос заключается в том, есть ли способ обновить сеанс пользователя Facebook из приложения iframe, чтобы он не истекал через час. Вызывает ли это вызов API? Есть ли трюк Facebook Connect, чтобы что-то пинговать? Есть ли какой-либо окончательный метод, чтобы сохранить его в живых? Я не смог найти примеров, специально предназначенных для этого.