如何通过 GitHub API v4 获取存储库的内容?

How to get content of a repository through GitHub API v4?

我正在尝试将我的项目从 GitHub API v3 迁移到 v4。 如何通过 GraphQL API 获取存储库的文件或目录,就像我在 v3 中使用以下 RESTful API 所做的那样: GET /repos/:owner/:repo/contents/:path ?

我已经阅读了 GitHub API v4 的文档,但没有找到任何相关信息。

搜索目录:

query {
  repository(name: "<repo>", owner: "<owner>") {
    object(expression: "master:") {
      ... on Tree {
        entries {
          name
        }
      }
    }
  }
}

获取文件内容:

query { 
  repository(name: "<repo>", owner: "<owner>") {
    object(expression: "master:<path>") {
      ... on Blob {
        oid
        byteSize
        text
      }
    }
  }
}

参考:https://github.community/t5/GitHub-API-Development-and/GraphQL-getting-filename-file-content-and-commit-date/td-p/17861