Ошибка при попытке получить отдельные посты

Я пытаюсь получить данные конкретных постов в Discourse. Но при попытке сделать это получаю ошибку о том, что доступ ограничен, поэтому я добавил свои API-ключи в заголовки. Для этого я написал следующий код:

axios.get(`{myURL}/posts/${pid}.json`, {
    'mode': 'cors',
    headers: {
      Authorization: '{myAPIKey}'
    }})
    .then(function (response) {
      consol.log(response)
      setPostData(response.data?.topic_list?.topics)
    }) 
    .catch(function (error) {
      console.log(error)
    })

Я уже добавил CORS на сервер Discourse, чтобы разрешить запросы с моего сервера. Проблема в том, что теперь я получаю ошибку CORS со следующим сообщением: Ответ на предварительный запрос не проходит проверку доступа: он не имеет статуса HTTP ok.

Я не понимаю, что мог сделать неправильно, так как всё кажется в порядке.

1 лайк

Вот заголовок авторизации, который я использую в Ruby:

headers = { ‘Authorization’ => “Bearer #{do_api_key}” }

Поэтому, думаю, вам нужно добавить Bearer перед вашим ключом API.

Вот заголовки:

         headers = { 'api-key' => discourse_api_key, 'api-username' => 'system' }

Поэтому, думаю, вам нужны заголовки вроде этих. Discourse REST API Documentation должен помочь с этим.

3 лайка