什么时候不应该使用 GitHub GraphQL API?

问题描述

关于 GitHub GraphQL API 的好处已经写了很多。这是一项非常棒的技术。我唯一想不通的是在什么情况下使用旧的 REST API v3 仍然更好?

解决方法

Github GraphQL API 受以下注意事项的约束:

  • GraphQL API 只能使用身份验证访问。您需要一个令牌才能使用此 API。因此,您不能在无法保护此令牌供应的环境中使用 GraphQL。例如,在没有 github 身份验证的 Web 应用程序中。这是一个很大的警告,特别是对于想要创建仅针对公共存储库信息的网络应用或脚本的人。
  • 在 Github Graphql 中无法使用 commits 搜索 codethe search API。仅支持搜索存储库、问题和用户(对于搜索 API)
  • Graphql 中尚无法实现某些功能,例如 comparing commits 和获取 contributors。另一个例子:你不能recursively get a tree使用 GraphQL API
  • 一些在 v3 中已经可用的变化可能还没有在 GraphQL 中实现(创建提交、创建标签、创建分支等...),请查看 mutations documentation