尝试获取单个帖子时出错

我正在尝试获取 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 错误,它说:Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

我不明白我可能做错了什么,因为一切似乎都还可以。

1 个赞

这是我在 Ruby 中使用的授权标头:

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

所以我认为您需要在 api 密钥前添加 Bearer

这是标头:

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

所以我认为您需要这样的标头。 Discourse REST API Documentation 应该对此有所帮助。

3 个赞