Github个人访问令牌,用于访问私有存储库的:/ repos /:user /:repo / contents

时间:2019-11-05 17:50:04

标签: github github-api github-api-v3 github-api-v4

我正在尝试使用个人访问令牌来访问存储库的内容

如果存储库是公共的,则可以使用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复选框,但什么也没做。我在做什么错了?

1 个答案:

答案 0 :(得分:2)

看起来,要获取此信息,需要令牌的所有root.setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); 访问权限。

为我工作:

repo

权限复选框

API v3用法:

 [x] repo Full control of private repositories
     [x] repo:status Access commit status
     [x] repo_deployment Access deployment status
     [x] public_repo Access public repositories
     [x] repo:invite Access repository invitations