我如何使用 graphql (v4 api) 访问 github 存储库内容?

How can I access github repository contents using graphql (v4 api)?

如果我使用 github v3 api 使用以下查询访问 public 存储库的目录内容:

curl https://api.github.com/repos/w3c/webappsec/contents/

graphql 中的等价物是什么?

例如,我可以通过将以下内容发送至以下地址来获取存储库的描述:https://api.github.com/graphql

query TestQuery{
    repository(owner:"w3c" name:"webappsec"){
      description
    }
  }

但是我怎样才能获取存储库目录的内容呢?

您可以使用 object(expression: "branch_name:") 并列出树条目:

{
  repository(owner: "w3c", name: "webappsec") {
    object(expression: "master:") {
      ... on Tree {
        entries {
          name
          type
          mode
        }
      }
    }
  }
}

Try it in the explorer