Если вы создали маркер, который вы используете через Applications page, то этот маркер будет иметь эти scopes: user
, public_repo
, repo
, gist
. Вы можете проверить это, сделав запрос API с этим маркером и глядя на заголовки ответа HTTP:
curl -v -H 'Authorization: token xxx' https://api.github.com
Посмотрите на заголовок X-OAuth-Scopes
ответа, который будет иметь список областей:
X-OAuth-Scopes: user, public_repo, repo, gist
Однако, чтобы удалить репозиторий, token needs to have the delete_repo
scope.
Итак, вам нужен токен, имеющий разные области применения, чем тот, который у вас есть. Вы можете создать такую фишку с помощью Authorizations API:
curl -v -u username -X POST https://api.github.com/authorizations -d '{"scopes":["delete_repo"], "note":"token with delete repo scope"}'
Это возвращает JSON документ с новым маркером, который вы должны быть в состоянии использовать, чтобы удалить репозиторий:
{
"id": XXXXX,
"url": "https://api.github.com/authorizations/XXXXX",
"app": {
"name": "GitHub API",
"url": "http://developer.github.com/v3/oauth/#oauth-authorizations-api",
"client_id": "00000000000000000000"
},
"token": "XXXXXX",
"note": "token with delete repo scope",
"note_url": null,
"created_at": "2013-10-11T20:34:49Z",
"updated_at": "2013-10-11T20:34:49Z",
"scopes": [
"delete_repo"
]
}
Конечно , при создании маркера таким образом вы можете запросить несколько областей, а не только область delete_repo
.
Кроме того, в качестве побочной заметки причина, по которой API возвращает ошибку 404, когда у вас нет правильной авторизации, является prevent information leakage.
Если у вас есть 'github.com/Foo/bar', то': owner' является 'Foo' и': repo' является 'bar'. – Stijn
Спасибо, но все-таки 'локон -X УДАЛИТЬ -H«Авторизация: лексема ххх»https: // api.github.com/репо/Foo/bar' не работает –
Что вы получаете с поддельными учетными данными и неистинное репо? Я получаю это: '$ curl -X DELETE -H 'Авторизация: token xxx' https://api.github.com/repos/foo/bar { « сообщение »:« Плохие учетные данные », « documentation_url »: "http://developer.github.com/v3" } ' – Stijn