github create repo



我试图使用Github API创建一个回购,但它总是返回这个JSON:

{"message":"Not Found"}

但是只有当我尝试在请求头中使用OAuth访问令牌创建时才出现此错误,如果我使用用户名和密码,API创建repo并返回成功消息。

有人对这个API端点有问题吗?

您可以使用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")

我有一个不同的消息来这个

curl -i -d '{"name":"NAME"}' https://api.github.com/orgs/:ORG/repos?access_token=XXX
{
  "message": "Must be an owner or admin of Organization."
}

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

好吧

This works for me

创建认证令牌

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

创建Repo -需要包含"Authorization: token"

curl -i -H 'Authorization: token TOKENHERE' -d '{"name":":NAME"}' https://api.github.com/user/repos

这个可以,试一下。

curl -F 'login=c00kiemon5ter' -F 'token=s3cr3t' https://github.com/api/v2/json/repos/create -F 'name=testapi' -F 'public=0'
我们讨论的是API v2还是v3 ?

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

注意:这个演示程序只提供一些选定的功能。

GitHub-Interaction

希望这有帮助!!

截至目前,GitHub v3 API文档明确指出:

创建

为经过身份验证的用户创建一个新的存储库。(当前未启用集成)

编辑:

"not enabled for Integrations"的意思是,如果你通过你的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的解决方案也会受到同样的限制。只有令牌有区别!

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

最新更新