У меня была точно такая же проблема в моем приложении для Android. Еще более расстраивало то, что мой логин в твиттере отлично работал и начинал сбоить в подписи по некоторым случайным причинам.
Я провел много тестов и обнаружил, что проблема возникла в браузере Android, который используется в процессе OAuth:
- если вы входите в систему с сохраненным логином / паролем или если у вас есть cookie-файл с вашим сеансом в Твиттере, и вам просто нужно нажать «Принять», он заполнится с ошибкой 401
- если вы вручную удалите и повторно введете свой пароль, то это сработает!
Я до сих пор не могу понять, как это влияет на вызов API, но я предполагаю, что в браузере наблюдается некоторая путаница при отправке формы «принять» с предварительно введенной информацией.
Мне было бы очень любопытно посмотреть, решит ли мой обходной путь и вашу проблему. Я понимаю, что это неправильное решение, но это только начало.
РЕДАКТИРОВАТЬ: используйте http: // вместо https: // для URL-адресов Twitter OAuth, и это решает проблему. Я до сих пор не понимаю, что происходит ...