Использование API Facebook C# - проверка правильности сохраненного токена доступа

У меня есть токен доступа, который я сохранил - я хочу использовать его для публикации на Facebook от имени пользователя. Есть ли способ проверить, что токен все еще действителен, прежде чем разрешить пользователю публиковать сообщения, чтобы я мог снова открыть пользовательский интерфейс запроса?

2 ответа

Решение

Вы запрашиваете offline_access? Если нет, срок действия токена истечет, но при запросе токена должна быть дата истечения срока действия. Вы можете проверить это на своей стороне, прежде чем сделать звонок.

Проверка пользователя не удалила разрешения или проверку offline_access, я думаю, что это потребовало бы попадания на серверы Facebook. Я бы просто попробовал пост и обработал ошибку, если она не удалась. Скорее всего токен действителен, чем нет.

Проверяя перед каждым звонком, вы несете существенный штраф (удвоение работы), чтобы справиться с нечастым случаем. В любом случае, вам все равно придется их запрашивать, если токен доступа недействителен, поэтому я просто обработаю ошибку и выведу запрос после.

Кроме того, вы все равно должны обработать ошибку в любом случае, так как есть состояние гонки. Вы можете проверить access_token, но между проверкой и публикацией токен может стать недействительным.

Исходя из моего опыта (использование 4.2), вам нужно будет обернуть ваш запрос в попытку... поймать (может сработать OAuthException). И я говорю о сценарии, где у вас есть автономный доступ. (Если у вас есть автономный доступ, и пользователь удаляет приложение в Facebook, срок действия вашего автономного токена истекает, даже если пользователь повторно включает приложение через какой-либо другой механизм).

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