Обновление Twitter возвращает 401 Несанкционированный при запуске в QML, но работает в первый раз только на настольной Java - PullRequest
1 голос
/ 17 августа 2011

Я реализую почтовый клиент Twitter в Qt Quick / QML, используя Javascript для логики приложения.

Я успешно выполнил первые шаги процедуры oAuth и получил токен и секрет oAuth.

Но сообщения на http://api.twitter.com/1/statuses/update.json всегда терпят неудачу, возвращая 401 Несанкционированный.

Все сообщения выполняются с использованием XMLHttpRequest с, и ни одно еще не сработало.

Я попытался воспроизвести сценарий в настольной Java-программе (скопировав тот же заголовок авторизации и тело сообщения, которые использовались в приложении Qt), со странным результатом.В первый раз, когда это делается для любого приложения Twitter, публикация прошла успешно, и мой твит дошел до конца.Все последующие попытки для этого приложения Twitter получают 401 Unauthorized.

Если я затем сгенерирую заголовок пост-авторизации для другого приложения Twitter в моем приложении Qt и попробую сделать это в программе Java, это тоже будет работать только один раз.

Кто-нибудь знает, что здесь происходит не так?

Еще одна вещь, которая указывает на то, что я делаю что-то другое, заключается в том, что мне нужно добавить = к составным ключам подписи, которые я создаю дляподписать базовые строки (я использую эту реализацию JS SHA-1 ).Любая идея о том, почему это будет возможно, тоже будет оценена!

1 Ответ

0 голосов
/ 17 августа 2011

Вы генерируете новый заголовок OAuth для каждого запроса или повторно используете один и тот же заголовок OAuth для каждого запроса?

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

...