Пожалуйста, предоставьте рабочий код, который создает Github-репозиторий с использованием API.

Я пробовал разные версии следующего:

curl 'https://api.github.com/users/repos?client_id= myusername&client_secret=abcdefghijklmnopqrstuvwxyz1234567890abcd'
curl -u 'myusername' https://api.github.com/users/repos -d '{"name":"my-new-repo"}'

Но я всегда получаю следующую ошибку:

"{
  \"message\": \"Bad credentials\",
  \"documentation_url\": \"https://developer.github.com/v3\"
}"

3 ответа3

5

Одно разъяснение по поводу ответа @ Hewbot.

Вместо OAuth можно использовать токены личного доступа.

Значение YOUR_TOKEN в разделе "Authorization: token YOUR_TOKEN" команды curl можно получить следующим образом.

  1. В правом верхнем углу нажмите Пользователь
  2. настройки
  3. Жетоны личного доступа
  4. Для областей выберите Repos.
  5. Создать новый токен.

Для более подробной информации, нажмите здесь и здесь.

2

Я вижу несколько проблем в командах curl вы опубликовали:

  • Вы используете путь /users/repos . Это вернет информацию о пользовательских репозиториях вместо изменения репозиториев пользователя. Вы должны использовать /user/repos (удаление с от пользователей).
  • Поле client_secret предназначено не для вашего имени пользователя, а для идентификатора клиента, который вы получили при регистрации приложения в API GitHub.
  • Ваше поле code отсутствует, если вы используете поток веб-приложений.

Более подробную информацию вы можете найти в разделе OAuth API GitHub.

Однако, если вы просто ищете готовую к работе версию, эта сработала для меня:

curl -H "Authorization: token YOUR_TOKEN" --data '{"name":"YOUR_REPO_NAME"}' https://api.github.com/user/repos

Хотя я уверен, что есть и другие более простые и понятные способы сделать это.

2

Это может помочь кому-то.

Если вы используете отдыхающий клиент с графическим интерфейсом, это в основном конфигурация, которая вам необходима для создания репо:

Убедитесь, что вы добавили свой токен после слова token.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .