0

我正在尝试使用 redmine-api 发出发布请求以创建新的 wiki 页面。我正在使用 JavaScript 和 Axios。但是我收到 401 错误(UnAuthorize)。

我的目标是能够将 word 文档发送到我的 redmine 并创建一个 wiki 页面。

我正在使用提供的 Api 密钥,并且确实在我的 redmine 设置中启用了其余 api 功能

我已经在标题中包含了 api 密钥,但是它不起作用。

  var wordDocument = "./Redmine.docx"

   axios.post('<website url>/uploads.json', {
    headers: {
        'Content-Type': 'application/octet-stream',
        'Cache-Control': 'no-store',
        'key': '<api-key>'
    },
    data:wordDocument

    })
    .then(function (response) { 
       console.log("succeeed--->  "); 
       console.log    (response) 
     })
    .catch(function (error) {
        console.log("failed----->  ");
        console.log(error.response.headers)
        console.log(error.message)
        console.log("failed----->  ");
    })


我得到一个状态:'401 Unauthorized',

4

2 回答 2

0

好吧,我让它工作了。我做了“axios({})”而不是“axios.post”。不知道有什么不同?我以为是一样的。这是我的代码,适用于遇到此问题的任何人。\

var wordDocument = "./Redmine.docx"
axios({
    method: 'post',
    url: '<redmind_url>/uploads.json',
    headers: { 'Content-Type': 'application/octet-stream'},
    params: { 'key': '<api key>'},
    data: wordDocument
})
    .then(function (response) {
        console.log("succeeed--->  ");
        console.log(response.data)
    })
.catch(function (error) {
    console.log("failed----->  ");
    console.log(error.response.statusText, "-->", error.response.status);
    console.log(error.response.headers)
    console.log(error.message)
    console.log("failed----->  ");
})
于 2019-06-21T20:15:51.163 回答
0

尝试使用文档中提到的其他身份验证方法:

x passed in as a "key" parameter
- passed in as a username with a random password via HTTP Basic authentication
- passed in as a "X-Redmine-API-Key" HTTP header (added in Redmine 1.1.0)

https://www.redmine.org/projects/redmine/wiki/Rest_api#Authentication

还要确保您使用的是正确的 API 密钥。

登录后,您可以在默认布局的右侧窗格中的帐户页面 ( /my/account ) 上找到您的 API 密钥。

于 2019-06-21T19:21:02.000 回答