Мы действительно должны перезагружать наше приложение / игру Facebook каждые 1-2 часа? - PullRequest
1 голос
/ 07 октября 2011

Новый поток OAuth 2.0 на стороне клиента предоставляет токен доступа со временем expiresIn. Обычно это 1-2 часа. Пользователи, которые играют в игру, могут потратить столько времени на игру, а также они могут играть некоторое время, уходить и возвращаться через 3-4 часа.

Из того, что я могу сказать из документации, я просто должен обрабатывать ошибки от вызовов API, и если токен не работает, перезагрузите браузер. Что ж, это не очень хорошо для игр, потому что это может произойти в критический момент.

Даже если я установлю таймер и снова вызову FB.getLoginStatus (), expiresIn останется прежним, поэтому он явно относительно начального времени входа в систему.

Должны ли игры совершать все вызовы API Facebook заранее, а затем кэшировать все данные? Есть ли способ обновить access_token без перезагрузки веб-страницы?

1 Ответ

2 голосов
/ 14 октября 2011

Я провел несколько экспериментов, и вы можете просто вызвать setTimeout () и передать значение expiresIn из исходного вызова getLoginStatus.Затем, когда истечет время ожидания, если вы снова вызовете getLoginStatus, он будет обновлен новым токеном доступа и новым сроком действия expiresIn.Промыть, повторить.

...