我熟悉GitHub API http://developer.github.com/v3/我正在尝试使用RESTClient插件和Firefox以及curl命令行工具.
我已经了解了如何使用API创建一个repo,但我似乎无法使用API删除它.
根据这里的帮助:http://developer.github.com/v3/repos/#delete-a-repository我必须发送这样的DELETE请求:
curl -X DELETE -H 'Authorization: token xxx' https://api.github.com/repos/:owner/:repo
Run Code Online (Sandbox Code Playgroud)
帮助没有指定,我不确定它们是什么意思:所有者和:repo - 这些是名称还是ID,但我尝试了几种名称和ID,但没有成功.我收到的回复是:
404 Not Found
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
Iva*_*zak 22
如果你创建了您要使用通过令牌应用程序页面,则此标记将具有以下范围: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
但是,要删除存储库,令牌需要具有delete_repo范围.
因此,您需要一个与您拥有的范围不同的令牌.您可以使用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"
]
}
Run Code Online (Sandbox Code Playgroud)
当然,在以这种方式创建令牌时,您可以要求多个范围,而不仅仅是delete_repo范围.
另外,作为附注,当您没有正确的授权时,API返回404错误的原因是为了防止信息泄漏.
Ale*_*ory 10
删除存储库
curl -X DELETE -H 'Authorization: token {access token goes here}' https://api.github.com/repos/{yourUsername}/{name of repo}
替换里面的花括号和文本.
显示标题
curl -I https://api.github.com该-I方法仅获取HTTP标头.
创建存储库
curl -u yourUsername -X POST https://api.github.com/user/repos -d '{"name":"nameOfRepo"}'
| 归档时间: |
|
| 查看次数: |
13424 次 |
| 最近记录: |