Вы запрашиваете offline_access?Если нет, срок действия токена истечет, но при запросе токена должна быть дата истечения срока действия.Вы можете проверить это на своей стороне, прежде чем сделать звонок.
Проверка пользователя не удалила разрешения или проверка offline_access. Я думаю, что это потребует попадания на серверы Facebook.Я бы просто попробовал пост и обработал ошибку, если она не удалась.Скорее всего токен действителен, чем нет.
Проверяя перед каждым звонком, вы несете существенное наказание (удвоение работы) за обработку нечастого случая.В любом случае, вам все равно придется их запрашивать, если токен доступа недействителен, поэтому я просто обработаю ошибку и выведу запрос после.
Кроме того, вы все равно должны обработать ошибку в любом случае, поскольку существует состояние гонки.Вы можете проверить access_token, но за время между проверкой и публикацией токен может стать недействительным.