我是REST的新手。
为进行全面披露,我正在Netlify Lambda函数内部运行此代码,并通过netlify-lambda进行测试。
我的curl命令起作用:
curl -u "<username>:<password>" https://api.github.com/repos/<username>/<reponame>
但是当我尝试通过axios进行get请求时,我得到了404(根据github docs的说法,这意味着auth问题)。这就是我正在做的事情(没有自定义标头也无法使用,我一直在尝试随机的事情)。
axios({
method: "get",
url: `https://api.github.com/repos/${user}/<reponame>/`,
headers: {
Authorization: `Bearer ${githubToken}`,
"Content-Type": "application/json"
},
auth: {
username: user,
password: pass
}
})
.then(res => {
callback(null, {
statusCode: 200,
body: JSON.stringify(res.data)
});
})
.catch(err => {
callback(err);
});
我注意到的一件事是axios似乎正在获取我的用户名和密码,并将其添加到url之前,例如https://<username>:<password>@api.github.com/repos/<username>/<reponame>
这是应如何发送身份验证?
答案 0 :(得分:1)
我不应该在URL末尾使用斜线结尾。
答案 1 :(得分:0)
如果您已经有令牌,则不需要用户/密码,只需将令牌添加到标题中即可。