使用 GraphQL 以有效的方式获取 GitHub 登录(用户)列表的状态数据
Posted
技术标签:
【中文标题】使用 GraphQL 以有效的方式获取 GitHub 登录(用户)列表的状态数据【英文标题】:Get status data for list of GitHub logins (users) using GraphQL in efficent way 【发布时间】:2022-01-09 07:31:59 【问题描述】:我想做的是从 Status 中获取组织中 10-40 位 GitHub 用户的特定数据。我想批量获取数据。目前,我的解决方案使用代码中的 for 循环和下面的查询来查询数据:
user(login: "user1")
status
indicatesLimitedAvailability
updatedAt
createdAt
这个解决方案的缺点是我必须使用睡眠来触发 GitHub 中的每分钟 API 调用限制。
是否可以将查询转换为类似这样的内容(伪代码):
user(login: "user1", "user2", "user3", ...)
status
indicatesLimitedAvailability
updatedAt
createdAt
响应中有某种列表?
【问题讨论】:
【参考方案1】:您可以使用以下查询:
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
【讨论】:
以上是关于使用 GraphQL 以有效的方式获取 GitHub 登录(用户)列表的状态数据的主要内容,如果未能解决你的问题,请参考以下文章
使用 Apollo gql 编写 WHERE GraphQL 查询
使用 typescript、react 和 graphql 以正确方式进行查询的问题
如何识别 ReCaptcha V2 的 32 位数据站点密钥以使用 Selenium 和 Python 请求以编程方式获取有效响应?