Завиток с работающим методом POST, но ошибка получения API-возврата 503 - PullRequest
0 голосов
/ 25 мая 2018

Мне нужно получить доступ к частному API (одному из API летной компании Air France), и для использования любого из их API мне нужен токен доступа.Так что в своем руководстве , они говорят, что нам нужно использовать этот cURL для получения токена:

$ curl https://www.klm.com/oauthcust/oauth/token -d 'grant_type=client_credentials' -u fakeKey:fakeSecret

TERMINAL

Когда я выполняю этоcURL в моем терминале и замените fakeKey и fakeSecret (которые я, к сожалению, не могу дать вам здесь) своим собственным, он работает хорошо, и я получил этот ответ (с правильным токеном вместо:

{
  "access_token": <TOKEN>,
  "token_type":"bearer",
  "expires_in":3600
}

POSTMAN

Когда я делаю это в Почтальоне, вот что я заполняю:

  • URL:
  • Авторизация:
    • тип: Basic Auth
    • Имя пользователя: мой секретный логин
    • Пароль: мой секретный пароль
  • Заголовки:
    • Авторизация: автоматически генерируется из моего имени пользователя и пароля
    • Тип содержимого: application / x-www-form-urlencoded
  • Body
    • проверено x-www-form-urlencoded
    • grant_type: client_credentials

Вот и все, когда я нажимаюна SEND я получил му ответа и мой жетон.

FETCH / AXIOS / HTTPRequest

Так как я пока не так хорош в получении данных, я использовал https://kigiri.github.io/fetch/ для перевода из моего cURL в fetch метод JS.Он возвращает мне этот код:

fetch("https://www.klm.com/oauthcust/oauth/token", {
  body: "grant_type=client_credentials",
  headers: {
    Authorization: "Basic <HASH_COMPILED_FROM_USERNAME_PASSWORD>",
    "Content-Type": "application/x-www-form-urlencoded"
  },
  method: "POST"
})

<HASH_COMPILED_FROM_USERNAME_PASSWORD> точно такой же, как тот, который скомпилировал Почтальон.Таким образом, эта выборка кажется мне приемлемой, однако в Chrome она возвращает Response for preflight has invalid HTTP status code 503.

Opera возвращает мне Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin <MY_WEBSITE> is therefore not allowed access. The response had HTTP status code 503.

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

Спасибо!

1 Ответ

0 голосов
/ 27 августа 2018

Что ж, наконец-то был получен ответ: запрос должен исходить из серверной части, иначе в ответе ничего не будет (или ошибка 503).Спасибо @sideshowbarker за ваши хорошо объясняющие комментарии!

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