Проблема с получением токена на предъявителя из Twitter API - PullRequest
0 голосов
/ 08 марта 2020

Я пытаюсь настроить использование API-интерфейса Twitter (только для приложений) и испытываю трудности с получением токена на предъявителя, чтобы начать звонить. В частности, я получаю HTTP 403

{
    "code": 99,
    "message": "Unable to verify your credentials",
    "label": "authenticity_token_error"
}

У меня настроены среда приложения и разработки и мои учетные данные (ключ API и секретный ключ API).

Я использую Talend API Tester для всего этого.

Я просто не вижу проблемы. Вот пример запроса из документации Twitter и ниже, мой запрос, прямо из браузера.

Пример Twitter:

POST /oauth2/token HTTP/1.1
Host: api.twitter.com
User-Agent: My Twitter App v1.0.23
Authorization: Basic eHZ6MWV2RlM0d0VFUFRHRUZQSEJvZzpMOHFxOVBaeVJnNmllS0dFS2hab2xHQzB2SldMdzhpRUo4OERSZHlPZw==
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Content-Length: 29
Accept-Encoding: gzip

grant_type=client_credentials

Мой фактический запрос:

POST /oauth2/token HTTP/1.1
Authorization: Basic ektCUTl5Q0tWRERVUVFwUDJXYzljWlpyYTowM1ZIb -- not really a key -- xhaHByMmlqWld3RkIxa1gxaXZ6cQ==
User-Agent: My App
Accept-Encoding: gzip
Content-Length: 29
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Host: api.twitter.com

grant_type=client_credentials

За пределами заголовков Authorization и User-Agent они идентичны.

Поскольку Talend API Tester берет имя пользователя и пароль и выполняет кодировку Base 64 для заголовка Authorization, я даже взял ключ API сложил его вместе с секретным ключом API, разделив их двоеточием (в соответствии с документацией Twitter), вручную выполнил кодирование Base 64 и получил то же значение, которое отправляется в запросе.

Я прочитал что если вы делаете слишком много запросов, вы можете получить 403, в основном рассчитывая время ожидания, но вышеупомянутый запрос был просто сделан с помощью fre sh ключей и через 24 часа после моей последней попытки. Если у меня истекло время ожидания, я не уверен, как долго это будет продолжаться.

1 Ответ

0 голосов
/ 10 марта 2020

Welp. Я решил попробовать этот запрос, используя Postman, и несколько шокирующе, он сработал с первого раза. Не уверен, в чем проблема с Talend API Tester, но здесь он терпит неудачу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...