#oauth-2.0 #httprequest
#oauth-2.0 #httprequest
Вопрос:
Я пытаюсь получить токен доступа для тестового приложения, используя Vend API, отправив кучу параметров в теле POST-запроса типа «application /x-www-form-urlencoded». Я уже получил код авторизации, однако продолжаю получать ответ об ошибке. Я использую Postman для отправки запроса, и кажется, что Vend API использует OAuth2.
Ответ — 400 неверных запросов:
{
"error": "invalid_request",
"error_description": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the "grant_type" parameter."
}
Ошибка, похоже, предполагает, что проблема заключается в параметре «grant_type», я пытался присвоить ему другие значения, такие как код авторизации и перенаправить URI, но безрезультатно. Теперь я подозреваю, что проблема в другом.
URL запроса POST:
https://samplepsyirf01.vendhq.com/api/1.0/token
Параметры запроса POST:
code: KWDZNSo67gnf82PHa805k_kLlcq7VYZHQeAhoK7J
client_id: AdP6KYWqPjM7WbkDnNafoJ5piI6GECRa
client_secret: {CLIENT SECRET}
grant_type: authorization_code
redirect_uri: https://www.google.com/
Я использовал домашнюю страницу Google в качестве фиктивного URI перенаправления, поскольку на данный момент у нас нет никаких производственных приложений Vend. Я не уверен, оказывает ли это какое-либо влияние на проблему.
Код авторизации:
Документы Vend API:https://docs.vendhq.com/reference#section-oauth-2-0
Ответ №1:
Я попытался использовать «Массовое редактирование» в Postman, которое выявило пробел в конце ключа «grant_type». Удаление пробела привело к успешному ответу токена.