Json 使用curl使用Github API v3创建新的gist

Json 使用curl使用Github API v3创建新的gist,json,curl,github-api,gist,Json,Curl,Github Api,Gist,在为使用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

在为使用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
我能够使用完全相同的数据创建gist而无需授权令牌:

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“授权:我的授权”https://api.github.com/user
返回我的用户详细信息

适用范围如下:


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

您的OAuth2令牌似乎没有所需的
gist
范围

如果使用
-v
参数运行
curl
命令,您可以看到发送到请求的范围(
X-OAuth-Scopes
头)以及使用发送的令牌成功执行请求所需的范围(
X-Accepted-OAuth-Scopes
头)


如果您没有看到
X-OAuth-Scopes
标题值中列出的
gist
,那么这就是您的问题。

在这种情况下,正如我前面提到的,您将以匿名方式发布gist。事实并非如此。当您运行命令“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”}}时,您对我提到的头文件的值看到了什么使用-v curl参数?或者,您可以检查
curl-u“username:password”https://api.github.com/authorizations
,如果它的作用域数组中有“GIST”使用个人身份验证令牌,这对我来说没有问题。