GitHub的API是否支持一次为多个用户检索元数据?

时间:2019-11-19 18:49:58

标签: python rest github

因此,我有一个GitHub用户ID的列表,我需要使用GitHub API来获取每个用户的元数据。我可以使用(https://api.github.com/user/#useridhere)获取单个用户的元数据,但是我想一次传递许多ID号以生成一个文件。

2 个答案:

答案 0 :(得分:0)

如果您愿意使用用户的登录名,则可以使用V4 GraphQL API来执行此操作。您将动态构建查询,然后可以在一个响应中获取所有数据。

query {
  user1: user(login: "JPHaus") {
    ...UserFragment
  }
  user2: user(login: "mjpieters") {
    ...UserFragment
  }
  user3: user(login: "benbalter") {
    ...UserFragment
  }
}

fragment UserFragment on User {
    id
    createdAt
    company
    databaseId
    email
    location
    login
    name
    updatedAt
    url
}

enter image description here

您可以使用GraphQL Explorer对其进行测试。有关片段here的更多信息。

答案 1 :(得分:0)

此答案适用于REST API,因为该问题已标记为rest。请参阅乔纳森·波特(Jonathan Porter)关于GraphQL API的答案。


根据GitHub REST API v3 documentation,支持以下用户元数据查询:

  
      
  • 获得一个用户
  •   
  • 获取经过身份验证的用户
  •   
  • 更新经过身份验证的用户
  •   
  • 获取有关用户的上下文信息
  •   
  • 获取所有用户
  •   

这些中的最后一个仅返回多个用户的元数据,但这不是您想要的:

  

以他们在GitHub上注册的顺序列出所有用户。此列表包括个人用户帐户和组织帐户。注意:分页完全由since参数提供动力。使用链接标题获取用户下一页的URL。

因此,至少对于他们的API版本3,没有终结点可以通过ID列表查询多个用户。您必须针对每个用户ID提出一个请求。