GitHub API - 评论Gist返回404

时间:2017-09-06 21:06:21

标签: javascript api github gist

在关注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,但仍未成功。

提前致谢。

2 个答案:

答案 0 :(得分:0)

您的GIST ID中有一些非标准字符甚至看不到,我甚至无法让您的链接工作(或者它是私有的吗?)

Your query

答案 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错误。