Github API - 创建仓库

4
我正在尝试使用Github API创建一个仓库,但它总是返回以下JSON:
{"message":"Not Found"}

但是,只有当我尝试使用请求头中的OAuth访问令牌创建时才会出现此错误。如果我使用用户名和密码,则API将创建repo并返回成功消息。
有人在使用此API端点时遇到问题吗?

你能用POST方法解决它吗?我收到了相同的消息。 - Nasif Imtiaz Ohi
5个回答

4
你可以使用Python库PyGithub创建新的存储库。
from github import Github
g = Github("your username", "your password")
g = Github("your token")  # safer alternative, if you have an access token
u = g.get_user()
repo = u.create_repo("name-of-your-repo")

这应该可以解决你的问题。


1

我遇到了一个不同的信息

curl -i -d '{"name":"NAME"}' https://api.github.com/orgs/:ORG/repos?access_token=XXX

{
  "message": "Must be an owner or admin of Organization."
}

但我仍然不确定为什么我无法创建

好的

这对我有用

创建身份验证令牌

curl -u 'iwarner' -d '{"scopes":["repo"],"note":":NAME"}' https://api.github.com/authorizations

创建仓库 - 需要包含“Authorization: token”。
curl -i -H 'Authorization: token TOKENHERE' -d '{"name":":NAME"}' https://api.github.com/user/repos

0

这个可行,我刚试过。

curl -F 'login=c00kiemon5ter' -F 'token=s3cr3t' https://github.com/api/v2/json/repos/create -F 'name=testapi' -F 'public=0'

我们是在讨论 API 的 v2 还是 v3 版本?


抱歉,之前忘了提到。我正在尝试使用V3 API进行创建。我正在使用API文档中显示的相同命令,但是用我的OAuth Token(如果我使用该令牌来观看一个仓库,它可以正常工作)。 - Ricardo Augusto

0

我不知道你在使用什么技术。但是如果是iOS的话,你可以使用这个演示应用程序,它描述了与GitHub API交互的3种简单方法。

注意:此演示应用程序仅提供少量功能。

GitHub-Interaction

希望这能帮到你!


0

截至今天,GitHub v3 API documentation 明确指出:

创建

为已认证的用户创建一个新的存储库。(目前未启用集成)

编辑: “未启用集成”意味着,如果您通过您的OAuth应用程序之一(即“集成”)获取OAuth令牌,则GitHub API将拒绝使用该功能创建存储库。

但是,如果您使用其他访问令牌(例如您自己添加的个人访问令牌,请参见下文),那么GitHub API将很高兴地使用完全相同的API调用为您创建存储库。

curl -u your_username -d '{"scopes":["repo"], "note":"Description of personal token"}' https://api.github.com/authorizations

这就是为什么 Ian Warner 提出的解决方案可行的原因。使用 PyGithub 的解决方案将会面临相同的限制。只有 token 会产生差异!

编辑:并非完全正确:使用 OAuth 可以通过在身份验证(OAuth 应用程序流程)时指定作用域附加特定权限到您的 OAuth 令牌。要创建存储库,您需要拥有 'repo' 范围。(参见:Github v3 API - 创建REPO


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接