Я боролся с OAuth и Twitter уже 2 недели, пытаясь это реализовать. После многих переписываний моего кода я наконец-то получил библиотеку, которая выполняет запрос в соответствии со спецификацией 1.0. Я подтвердил это, используя этот верификатор в Google Code и этот верификатор из Hueniverse .
Моя версия, версия Google и версия Hueniverse дают одинаковую подпись, поэтому я пришел к выводу, что я больше не причина (но я мог бы засунуть мне в рот, заявив об этом ...) .
Я тестирую свою реализацию, сначала создав тестовый запрос с помощью консоли API Twitter, в этом случае обновление статуса. Я копирую изменяемые параметры, oauth_nonce и oauth_timestamp, во всех трех подписавших, указанных выше. Все остальные параметры всегда одинаковы, токены / секреты / и т. Д.
Консоль Twitter выдает одну подпись, но остальные три выше всех производят другую подпись (из Twitter, идентичную друг другу).
Итак, мой вопрос: почему я получаю это:
<?xml version="1.0" encoding="UTF-8"?>
<hash>
<request>/1/statuses/update.xml</request>
<error>Could not authenticate with OAuth.</error>
</hash>
... когда я должен был реализовать спецификацию для "T"?
Есть ли что-то конкретное, что нужно / нужно Twitterу как часть запроса? Я посчитал одноразовый номер, сгенерированный Твиттером, как 42 символа, это правильно? Должно ли это быть 42 символа в длину?
Буду признателен за помощь любому, кто лучше разбирается в API, чем у меня ...
Заранее спасибо!
ОБНОВЛЕНИЕ: Кто-то спросил о том, как я отправляю параметры аутентификации, но с тех пор удалил их сообщение, уточните почему. В любом случае параметры авторизации отправляются через заголовок авторизации.
ОБНОВЛЕНИЕ / РЕШЕНИЕ: Перемещено вниз, где оно относится к ответу.