以高效的方式使用 GraphQL 获取 GitHub 登录(用户)列表的状态数据

Get status data for list of GitHub logins (users) using GraphQL in efficent way

我想做的是从 Status 获取组织中 10-40 GitHub 名用户的特定数据。我想批量获取数据。目前,我的解决方案在代码中使用 for 循环查询数据,查询如下:

{
    user(login: "user1") {
    status {
         indicatesLimitedAvailability
         updatedAt
         createdAt
}

此解决方案的缺点是我必须使用 sleep 来触发 API 每分钟调用限制 GitHub。

是否可以将查询转换为如下形式(伪代码):

{
    user(login: "user1", "user2", "user3", ...) {
    status {
         indicatesLimitedAvailability
         updatedAt
         createdAt
}

以及响应中的某种列表?

您可以使用以下查询:

{
  nodes(ids: ["node_id1", "node_id2"]) {
    ... on User {
      status {
        indicatesLimitedAvailability
        updatedAt
        createdAt
      }
    }
  }
}

其中 node_id 是您要查询的 id 用户。

您可以使用以下查询获取这些:

{
  user(login: "username") {
    id
  }
}

或者您可以使用以下查询获取组织中的所有成员

{
  organization(login: "org_name") {
    membersWithRole(first: 100) {
      nodes {
        login
        id
      }
    }
  }
}