创建Github上API V3使用curl新要点(Create new gist with Gith

2019-07-29 08:17发布

在相当一段时间争取发布使用他们的API V3的私人要点到Github上后,我几乎放弃了。 几乎。 可能有人也面临着类似的问题或知道什么可能是以下行为的理由:

眼下curl命令看起来如下:

curl -H "Authorization: bearer MY_AUTHORIZATION_TOKE" -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"public":false,"files":{"test.txt":{"content":"String file contents"}}}' https://api.github.com/gists

我也试过

curl -H "Authorization: bearer MY_AUTHORIZATION_TOKE" -X POST -d '{"public":false,"files":{"test.txt":{"content":"String file contents"}}}' https://api.github.com/gists

我可以不使用完全相同的数据授权令牌创建要点:

curl -X POST -d '{"public":true,"files":{"test.txt":{"content":"String file contents"}}}' https://api.github.com/gists

但在这种情况下,这将是匿名

同样的结果,如果我修整后作为公

在任何情况下Github上返回我

HTTP/1.1 404 Not Found
{
  "message": "Not Found"
}

我敢肯定,我授权,为curl -H "Authorization: bearer MY_AUTHORIZATION_TOKE" https://api.github.com/user返回了我的用户详细信息。

适用范围是:

https://github.com/login/oauth/authorize?client_id=...&scope=gist

因此,它应该有读取和写入权限。

Answer 1:

您的OAuth2令牌似乎并不具备所需的gist范围。

如果运行curl用的命令-v参数可以看到发送到请求(范围X-OAuth-Scopes标头)和用于请求(所要求的范围X-Accepted-OAuth-Scopes标头),以成功地使用来进行令牌发送。

如果您看不到gist中所列出的X-OAuth-Scopes标头值那么这就是你的问题。



文章来源: Create new gist with Github API v3 using curl