Github v3 API - 创建一个REPO

时间:2011-10-24 02:00:34

标签: github github-api

我正在尝试使用Github v3 API - 我已经实现了所需的OAuth流程并且运行良好。

现在我正在尝试一些Repos API端点(http://developer.github.com/v3/repos/)。

到目前为止,我可以使用:GET / user / repos获取我的回购列表 但是,当我尝试使用POST / user / repos创建一个repo时,我得到一个404.

有什么想法我可能做错了吗?

茹贝尔

4 个答案:

答案 0 :(得分:8)

您能否告诉我们您是如何完成HTTP请求的? 404听起来好像你正在使用错误的路径。但是为了给出一个可靠的答案而不是一个疯狂的猜测,我们需要看到你的请求,包括你如何发送你的令牌,只需用“xxx”或其他东西掩盖它。

我将在此期间向您展示一个示例请求,即:

curl -XPOST -H 'Authorization: token S3CR3T' https://api.github.com/user/repos -d '{"name":"my-new-repo","description":"my new repo description"}'

您当然需要替换OAuth令牌:S3CR3T

答案 1 :(得分:7)

我有同样的问题。您使用oauth访问令牌获得404的原因是,当您授权github时,您还需要另外传递所需的范围。例如,在标题中,您应该看到“X-OAuth-Scopes:repo,user”,这意味着该用户具有对其配置文件和存储库的读/写访问权限。设置正确的范围后,您应该可以正常执行POST / PUT请求。

查看您是否拥有正确的权限。您可以执行以下操作。用您的访问令牌替换XXXXXXX。

curl -I https://api.github.com/user?access_token=XXXXXXXX

答案 2 :(得分:3)

为了以用户身份创建存储库,您可以使用个人访问令牌和基本身份验证,当您在命令行上进行操作并启用2FA时,这可以更加简单。

curl -d '{"name":"test"}' -u githubuser:personaccesstoken https://api.github.com/user/repos

在此处https://github.com/settings/tokens创建个人访问令牌,并确保其具有“回复”功能。范围。

答案 3 :(得分:1)

此脚本允许您将令牌和项目名称作为变量读入,以便在脚本中使用它

#!/usr/bin/env bash -u
#

TOKEN=`cat token_file`
PROJECT=myproject

curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -d '{"name": "'"$PROJECT"'"}' https://api.github.com/user/repos?access_token=$TOKEN