Github API v3, публикация проблем / аутентификация - PullRequest
0 голосов
/ 26 января 2020

Я работаю над проектом по созданию платы Kanban с использованием Github API v3. У меня нет проблем с методами get, но когда дело доходит до методов post, я получаю ответ 404, и из того, что я прочитал в документации, это похоже на ошибку аутентификации.

Я использую персональный токен для аутентификации, и успешно отправлены через почтальона, но когда я пытаюсь опубликовать через собственное приложение, я получаю сообщение об ошибке.

Ссылка на проект, если кому-то интересно: https://github.com/ericyounger/Kanban-Electron

Ниже приведен код, используемый для публикации на github.

Может ли быть проблема с моим кодом ниже? Или это могут быть настройки, связанные с токеном?

postIssue(json){

        let packed = this.packPost(json);
        return Axios.post(`https://api.github.com/repos/${this.user}/${this.repo}/issues`, packed);
    }

    packPost(json) {
        return {
            method: "POST",
            headers: {
                "Authorization": `token ${this.tokenAuth}`,
                "Content-Type": "application/json"
            },
            body: JSON.stringify({title: json.title})
        };
    }

Вот что я получаю:

{message: "Not Found", documentation_url: "https://developer.github.com/v3/issues/#create-an-issue"}
message: "Not Found"
documentation_url: "https://developer.github.com/v3/issues/#create-an-issue"

Сообщение об ошибке журнала консоли

Ответы [ 2 ]

0 голосов
/ 26 января 2020

Это сделал трюк:)

    postIssue(json){
        const headers = {
            'Content-Type': 'application/json',
            'Accept': 'application/vnd.github.v3.raw',
            "Authorization": `token ${this.tokenAuth}`,
        };

        return Axios.post(`https://api.github.com/repos/${this.user}/${this.repo}/issues`, json , {headers: headers});
    }
0 голосов
/ 26 января 2020

Не просматривая подробных журналов, моей первой попыткой было бы установить body, чтобы не отправлять строковое представление тела

body: {title: json.title}
...