在关注GitHub API的文档之后,我一直坚持提交一个关于gist的评论,以下代码总是返回404,并且在Postman中也进行了相同的调用。
我的JavaScript代码如下:
const config = {
method: 'POST',
headers: {
'Authorization': credentials.authorizationHeader,
'Content-Type': 'application/vnd.github.v3.text+json'
},
body: { "body": JSON.stringify(comment) }
};
fetch(`https://api.github.com/gists/${gistId}/comments/`, config)
.then(res => {
if (res.ok) {
dispatch(getGistDetails(gistId, credentials));
dispatch({ type: SUBMIT_COMMENT_SUCCESS });
} else {
ToastAndroid.show('An error ocurred, please try again.', ToastAndroid.SHORT);
console.log(res);
dispatch({ type: SUBMIT_COMMENT_FAIL });
}
})
.catch(err => console.log(err));
我通过OAuth获得的凭证:
accessToken: "redacted"
authorizationHeader:"bearer redacted"
clientID:"redacted"
idToken:null
scopes:"gist"
type:"bearer"
我尝试将authorizationHeader
更改为token <oauth_token
,但仍未成功。
提前致谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
事实证明我过于复杂,因为通过API获取要点的详细信息也会为您提供一个带有正确网址的comments_url
字段,因此不需要拼接字符串,这些都属于上面提到的非常奇怪的问题由@Zilvinas在下面。此外,身体的微小调整
const body = { body: comment }
const config = {
method: 'POST',
headers: {
'Authorization': credentials.authorizationHeader,
'Content-Type': 'application/vnd.github.v3.text+json'
},
body: JSON.stringify(body)
};
修复了我得到的后续Problems parsing JSON
错误。