【发布时间】:2021-03-03 00:34:38
【问题描述】:
在我的网站上,我尝试实施一种方法来测试用户的 Github webhook 是否设置正确。但是,当我发送 POST 请求来测试挂钩时,它会返回 422 错误。我不确定为什么会出现这种情况,因为我使用的 POST 函数只是从我的所有其他 POST/GET 函数复制粘贴到 Github。下面我已经展示了相关代码。
我的 getHook 函数确实有效,并返回用户拥有的钩子列表。
const [ hookIds, setHookIds] = useState([]);
const handleGet = () => {
getHook(token, project[0], project[1]).then((m) => {
console.log(m);
setHookIds(m);
});
}
const handleTest = () => {
for (var i = 0; i < hookIds.length; i ++) {
testHook(token, project[0], project[1], hookIds[i]['id']).then((m) => {
console.log(m);
});
}
}
export var getHook = async (access_token, name, creator) => {
console.log("get hooks for user: " + creator + " and repo: " + name)
return axios.get("https://api.github.com/repos/" + creator + "/" + name + "/hooks",
{
headers: {
'Accept': 'application/vnd.github.v3+json',
'Authorization': 'token ' + access_token
}
})
.then(response => {
console.log("axios gets: " + response.data)
return response.data;
})
}
export var testHook = async (access_token, name, creator, hookid) => {
console.log("test hook for user: " + creator + " and repo: " + name + "and hook id: " + hookid)
return axios.post("https://api.github.com/repos/" + creator + "/" + name + "/hooks/" + hookid + "/tests",
{
headers: {
'Accept': 'application/vnd.github.v3+json',
'Authorization': 'token ' + access_token
}
})
.then(response => {
console.log("axios gets: " + response.data)
return response.data;
})
}
【问题讨论】:
标签: reactjs axios github-api