【问题标题】:github v3 API - delete / remove a repogithub v3 API - 删除/移除一个 repo
【发布时间】:2012-02-13 19:05:57
【问题描述】:

在为我的应用程序设置单元测试环境时,我想以编程方式删除 github 存储库。

我已经在使用 v3 API,这似乎是最受支持的,也是前进的道路。我正在使用以下 python 行成功创建一个 repo,很好:

import urllib2, base64
createData = '{\"name\": \"UnitTest-SubModules\", \"description\": \"This is a Fake repo used for testing\"}'
request = urllib2.Request("https://api.github.com/user/repos")
base64string = base64.encodestring('%s:%s' % ('user', 'pass')).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)
result = urllib2.urlopen(request, data=createData)

如何设置这个来删除一个 repo?我在http://developer.github.com/v3/repos/找不到删除规范

根据猜测,我尝试了以下代码,因为它遵循 API 模式,但它不起作用。返回 urllib2.HTTPError: HTTP Error 404: Not Found

request = urllib2.Request("https://api.github.com/repos/nyeates/UnitTest-SubModules")
base64string = base64.encodestring('%s:%s' % ('user', 'pass')).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)
request.get_method = lambda: 'DELETE'
result = urllib2.urlopen(request)

我从How to make HTTP DELETE method using urllib2?获得了python http DELETE代码

【问题讨论】:

  • 我认为 v3 API 不允许您删除存储库。我们也遇到了这个问题,正在等待他们的官方回复。
  • 另外,使用requests 编写会更加优雅。

标签: api github github-api http-delete


【解决方案1】:

【讨论】:

  • 组织也是如此吗?我有管理员权限(例如我是所有者) 我尝试在 curl 中执行此操作以进行测试。 'curl -H "授权:令牌 blarblar" -X DELETE -i api.github.com/repos/OrgName/Test5';但它说404未找到。身份验证正在工作,因为它说我的限制是 4980 而不是 50odd。如果我在没有 -X DELETE 的情况下执行此操作,它将返回有关 repo 的所有详细信息。所以我的网址是正确的。
  • 您可能尚未设置令牌的范围。默认情况下,令牌范围不允许删除存储库。
猜你喜欢
  • 2011-12-13
  • 1970-01-01
  • 1970-01-01
  • 2015-03-02
  • 1970-01-01
  • 1970-01-01
  • 2011-04-26
  • 2018-11-30
  • 1970-01-01
相关资源
最近更新 更多