Иногда (OAuthException - #200) (#200) Пользователь должен принять TOS

Я уверен, что мое приложение закодировано правильно (по крайней мере, в основном), так как оно работает примерно в 98% случаев. Однако примерно в 2% случаев я получаю токен, который кажется действительным токеном аутентификации, но когда я иду, чтобы опубликовать фотографию, я получаю следующую ошибку "(OAuthException - # 200) (# 200) Пользователь должен иметь принял ТОС». У меня есть логика повторных попыток, но она трижды получает одну и ту же ошибку (так что это не странный сбой связи).

Я использую URL-адрес facebook.com/dialog/oauth для получения токена, а затем использую клиент C# Facebook (метод Post).

Другие вопросы, которые я видел с этой ошибкой, по-видимому, связаны с постоянными сбоями, что указывает на ошибку приложения.


person Eric Kassan    schedule 30.12.2012    source источник


Ответы (2)


Возможно ли, что человеку показывается страница разрешений (на Facebook) и он отклоняет ее, поэтому пользователь затем перенаправляется обратно на ваш сайт, но с ошибкой Oauth, которую вам нужно обработать.

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

person Pure.Krome    schedule 30.12.2012
comment
Хорошая мысль, но в моих тестах, когда я отклоняю авторизацию, facebook не возвращает токен авторизации, а вместо этого возвращает ошибку и описание ошибки. - person Eric Kassan; 31.12.2012

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

Предложение, предоставленное Facebook, заключалось в том, чтобы выделить больше времени на процесс повторной попытки — хотя обычно он обрабатывается в течение минуты, иногда для репликации на все серверы может потребоваться до 30 минут.

person Eric Kassan    schedule 23.04.2014