Я пытаюсь получить последние твиты от определенных пользователей, используя API твиттеров на Postman, но у меня проблемы с OAuth2 - PullRequest
2 голосов
/ 08 июня 2019

Я пытаюсь использовать Почтальон, чтобы получить запрос на получение твитов от определенного Пользователя.Я следовал документации Twitters и создал токен на предъявителя с почтальоном, но все еще получаю ошибку 400.Нет подробностей этой ошибки, она просто говорит о неверном запросе.

Является ли Client Id и Client Secret = моим Consumer Api Key и моим Consumer Api Key Secret?Или это мой токен доступа и секрет токена доступа?

Postman Oauth2

Затем я делаю запрос на получение https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=twitterdev&count=1

1 Ответ

1 голос
/ 10 июня 2019

Если у вас есть токен на предъявителя, процесс будет намного проще, чем тот, который вы указали в своем вопросе.

Чтобы другим было проще следовать этому ответу, ниже приведен полный процесс.

Вы уже сделали это, так что не стесняйтесь переходить к ЗАПРОСИТЕ ДВИГАТЕЛЬ С ЖЕЛЕЗНОЙ БЕЗОПАСНОСТЬЮ, ИСПОЛЬЗУЯ ПОСТМАНА .

предпосылки

Примечание: Я использую Postman 7.1.1, но я точно знаю, что все, что я здесь показываю, возможно и с предыдущими версиями (хотя ярлыки для Авторизации и т. Д. Могут быть немного отличается.)

Для тех, кто хочет следовать, но не так далеко, как пользователь, задающий вопрос, вот как наверстать упущенное:

  1. Зарегистрируйте аккаунт разработчика в Твиттере. (https://developer.twitter.com - и войдите в свою учетную запись Twitter, затем перейдите к подаче заявки. Сейчас процесс подачи заявки.)
  2. Получив учетную запись разработчика, создайте новое приложение. (https://developer.twitter.com/en/apps).
  3. Получив приложение, перейдите на страницу приложения ДЕТАЛИ , затем KEYS AND TOKENS и обратите внимание на «Секретный ключ API» и «Секретный ключ API».
  4. Наконец, сгенерируйте токен для приложения. (Шаги для того, как сделать это в Почтальоне ниже, или следуйте инструкциям из Twitter, чтобы сделать это через CURL: https://developer.twitter.com/en/docs/basics/authentication/guides/bearer-tokens).
    • Обратите внимание, что из документации не ясно, как долго будет действовать этот токен на предъявителя. Возможно (и вероятно), что вам потребуется время от времени восстанавливать токен на предъявителя для вашего приложения.

СОЗДАЙТЕ ЖЕЛЕЗНЫЙ НОСИТЕЛЬ ДЛЯ ВАШЕГО ПРИЛОЖЕНИЯ С ПОСТМАНОМ

Создайте запрос почтальона следующим образом: BEARER TOKEN REQUEST

Давайте назовем различные части этого запроса:

  1. Запрос должен быть запросом POST.
  2. URL запроса: https://api.twitter.com/oauth2/token?grant_type=client_credentials
  3. Нажмите на вкладку Авторизация .
  4. Выберите Basic Auth для типа авторизации.
  5. Введите свой Twitter ключ API в поле Почтальон Имя пользователя . Вы отметили это значение при создании приложения.
  6. Введите свой Twitter секретный ключ API в поле Почтальон Пароль . Вы отметили это значение при создании приложения.
  7. Нажмите Запрос предварительного просмотра , который примет значения авторизации и добавит соответствующие заголовки для запроса. (Запрос не будет работать, если вы этого не сделаете, поскольку у него не будет правильного заголовка авторизации!)

Как только вы настроите его, как указано выше, Отправьте этот запрос и запишите ответ, который должен быть в форме:

{
    "token_type": "bearer",
    "access_token": "AAAAAAAAAAAAAAAAAAAAAE3Q%SOMEoLONGoTOKENoHEREoHEREoHEREoHEREoLxTx4xddH50oSOMEoLONGoTOKENoHEREoHEREoHEREoHEREoPxsd3x"
}

(Вышеприведенное не является настоящим токеном, и слова приведены только для иллюстрации. Ваш токен будет бредовым.)

ЗАПРОСИТЬ ЗАДВИЖКУ С ПОДШИПНИКОМ, ИСПОЛЬЗУЯ ПОСТМАНА

Со всей подготовкой мы готовы к прямому ответу на вопрос @ Кияны.

Теперь, когда у вас есть токен Bearer, выполняющий фактический запрос к конечной точке, которая поддерживает этот тип авторизации, довольно просто. (Обратите внимание, что не все конечные точки Twitter могут поддерживать это. Обратитесь к приведенной выше ссылке на токены на предъявителя для получения подробной информации.)

Создайте еще один запрос почтальона следующим образом: USER TIMELINE REQUEST

  1. Этот запрос может быть запросом GET.
  2. URL запроса - это то, что вы указали в своем вопросе: https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=twitterdev&count=1
  3. Щелкните на вкладке Authrization .
  4. На этот раз выберите Токен на предъявителя для типа авторизации.
  5. В поле Token введите значение для access_token , которое вы только что получили в ответ на запрос токена на предъявителя.
  6. Нажмите Запрос предварительного просмотра , чтобы правильно настроить заголовки запроса. (Запрос не будет работать, если вы этого не сделаете, поскольку у него не будет правильного заголовка авторизации!)

Отправьте этот запрос, и вы действительно должны получить обратно интересующий вас ответ!

Timeline Request Response

ИСПОЛЬЗОВАНИЕ ЖАТКИ ПРЯМО ДЛЯ ЖЕЛЕЗНОДОРОЖНОГО ЖЕЛЕЗА

В качестве дополнительного ответа здесь, в приведенных выше примерах мы использовали вкладку Авторизация для Почтальона. Однако все, что делает эта вкладка, это то, что она добавляет правильные заголовки запроса к вашему запросу. Если вы не хотите использовать вкладку Авторизация , вы можете просто добавить заголовки к вашему запросу!

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

Однако во втором случае заголовок для токена-носителя очень прост. Добавляемый заголовок просто называется Authorization, а переданное значение - просто строка «Носитель», плюс пробел, затем ваш токен.

Например:

Authorization: Bearer AAAAAAAAAAAAAAAAAAAAAE3Q%SOMEoLONGoTOKENoHEREoHEREoHEREoHEREoLxTx4xddH50oSOMEoLONGoTOKENoHEREoHEREoHEREoHEREoPxsd3x
...