Twitter OAuth - Неправильные ошибки подписи - что я пропустил? - PullRequest
0 голосов
/ 21 января 2011

Я прочитал страницу о добавлении OAuth, которую Twitter написал . Я зарегистрировал свое приложение, оно получит доступ только к моей учетной записи, поэтому я пропускаю все элементы токена запроса. У меня со страницы "Ваши приложения" :

  • потребительский токен
  • секретный ключ потребителя
  • токен доступа
  • секретный токен доступа

Я пишу некоторый код ruby ​​и проверяю его вывод на Руководство для начинающих по OAuth (рекомендуется читать в документации Twitter). Я получаю тот же вывод, то есть подпись, базовая строка и заголовки авторизации идентичны.

Однако, когда я подключаюсь к API Rest Twitter и пытаюсь выполнить команду проверки учетных данных , ответ неизменно будет «Неверная подпись».

Я пытаюсь использовать другой код (очень похожий на мой) из gist от erikeldridge на github , но он тоже не работает. Вместо подключения через cURL (с использованием библиотеки curb ) я использую Net / Http - возвращается тот же ответ об ошибке.

Я перехожу на использование OAuth gem . Он использует Net / Http для подключения. Тот же ответ об ошибке возвращается.

Убедитесь, что учетные данные - не единственная команда, которую я пытался использовать в API, но все они выдают одинаковую ошибку, будь то GET или POST, требуются дополнительные параметры или нет. Я успешно использовал API поиска, используя библиотеку бордюров без проблем, поэтому не думаю, что это метод соединения.

Может кто-нибудь подсказать, что я могу сделать, чтобы это исправить? Я был бы очень благодарен за любой вклад.

Рубин 1.9.2; cURL 7.21.2; оут 0,4,4; обочина 0,7,8; JSON 1,4,6; OSX 10.6.5;

Ответы [ 2 ]

1 голос
/ 22 января 2011

Даже если ваше приложение имеет доступ только к вашим данным, вы не можете просто «пропустить содержимое маркера запроса».Маркер запроса является неотъемлемой частью процесса OAuthentication.

Подводя итог, можно выделить три основные части процесса OAuth:

  1. Получить ключ токена запроса и Секрет секрета токена
  2. Используйте маркер запроса, чтобы авторизовать приложение для доступа к вашим данным.Это предоставит пользователю (вам) ПИН
  3. . Используйте ПИН-код для обмена токеном запроса и секретом на токен доступа и секрет.

Более подробный поток OAuthentication можнонайдено здесь .

0 голосов
/ 28 января 2011

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

Это исправлено - я восстановил ключ и секретный ключ на сайте Twitter, и он начал работать,Я понятия не имею, почему предыдущий набор не работал - код был твердым (работает все время) и детали были правильными.Возможно, они (Twitter) могли бы предоставить более подробные сообщения об ошибках?Но я счастлив:)

...