Github v3 API - создайте РЕПО - PullRequest
       3

Github v3 API - создайте РЕПО

4 голосов
/ 24 октября 2011

Я пытаюсь использовать API Github v3 - я уже реализовал необходимый поток OAuth, и он работает хорошо.

Сейчас я пробую некоторые из конечных точек API Repos (http://developer.github.com/v3/repos/).

Пока что я могу получить список моих репозиториев, используя: GET / user / repos Однако, когда я пытаюсь создать репо, используя POST / user / repos, я получаю 404.

Есть мысли, что я могу делать не так?

Жубер

Ответы [ 4 ]

8 голосов
/ 24 октября 2011

Подскажите, пожалуйста, как именно вы сделали HTTP-запрос?404 звучит так, как будто вы выбрали неправильный путь.Но чтобы дать надежный ответ, а не дикое предположение, нам нужно увидеть ваш запрос, в том числе информацию о том, как вы отправляете свой токен, просто замаскируйте его с помощью «xxx» или чего-то подобного.пример запроса, который работает:

curl -XPOST -H 'Authorization: token S3CR3T' https://api.github.com/user/repos -d '{"name":"my-new-repo","description":"my new repo description"}'

Вам необходимо заменить токен OAuth, конечно: S3CR3T

7 голосов
/ 26 октября 2011

У меня была такая же проблема. Причина, по которой вы получаете 404 с маркером доступа oauth, заключается в том, что при авторизации на github вам также необходимо дополнительно передать нужные области. Например, в заголовке вы должны увидеть «X-OAuth-Scopes: repo, user», что означает, что этот пользователь имеет доступ на чтение / запись к своему профилю и репозиториям. После того, как вы установили правильные области действия, вы сможете выполнять запросы POST / PUT очень хорошо.

Чтобы увидеть, есть ли у вас правильные разрешения. Вы можете сделать что-то вроде следующего. Замените XXXXXXX токеном доступа.

curl -I https://api.github.com/user?access_token=XXXXXXXX
3 голосов
/ 27 ноября 2016

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

curl -d '{"name":"test"}' -u githubuser:personaccesstoken https://api.github.com/user/repos

Создайте токен личного доступа здесь https://github.com/settings/tokens и убедитесь, что он имеет область репо.

1 голос
/ 08 октября 2012

Этот скрипт позволяет считывать токен и имя проекта как переменные, чтобы вы могли использовать его в скрипте

#!/usr/bin/env bash -u
#

TOKEN=`cat token_file`
PROJECT=myproject

curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -d '{"name": "'"$PROJECT"'"}' https://api.github.com/user/repos?access_token=$TOKEN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...