我正在尝试使用个人访问令牌来访问存储库的内容。
如果存储库是公共的,我可以使用v3和v4 api实现此目的。以下请求都返回内容:
v3:
curl https://api.github.com/repos/w3c/webappsec/contents/
v4:
query {
repository(owner: "w3c", name: "webappsec") {
object(expression: "master:") {
... on Tree {
entries{
name
}
}
}
}
}
现在我已经为我的一个私有仓库生成了个人访问令牌,但它从未返回任何内容:
v3(使用授权令牌):
curl -H "Authorization: bearer myauthorizationtoken" https://api.github.com/repos/myusername/myrepo/contents/
结果:
{
"message": "Not Found",
"documentation_url": "https://developer.github.com/v3/repos/contents/#get-contents"
}
v4(带有授权令牌):
query {
repository(owner: "myusername", name: "myrepo") {
object(expression: "master:") {
... on Tree {
entries{
name
}
}
}
}
}
结果:
{
"data": {
"repository": {
"object": null
}
}
}
我已经尝试在生成令牌时勾选所有的“read”复选框,但还是没有成功。我做错了什么?
v4
。奇怪的是,为了获取文件列表,必须请求完整的仓库控制权。 - Marinos An