4

我知道如何获取用户的组织列表

但是,我想让用户输入用户/组织名称并为该名称提供自动完成功能,其中自动完成包括所有用户/组织,而不仅仅是他们所属的组织。

获得整个列表会太长(我不确定 GitHub 是否会公开它),但任何给定前缀的前 5-20 名就是我想要的。

Search API 闻起来更像是单个事务搜索,而不是自动完成 API,所以虽然我可以使用它,但很可能它会太频繁地达到速率限制并给出糟糕的 UX。

https://github.com/autocomplete/users?q=前缀与此类似,但这不是官方 GitHub API 的一部分,所以我知道后端确实支持这类查询......我只是没有从 API 文档中找到它,而且我不想访问非 API URL。

4

1 回答 1

2

GitHub 不会为您执行此操作,并且可能永远不会这样做。您可以选择自己构建一个类似的服务并不断更新您的用户列表。(明智地)更新用户列表的一种方法是执行以下操作:

  • 做一个首GET字母/users?per_page=100
  • 保存ETag返回的标题并使用分页获取所有最新的
  • 在未来的请求中发送ETag,当有新用户时,保存最新的ETag.
  • 重复。

因此,只要您保持 GitHub 用户列表是最新的,您就可以自己构建一个自动完成服务。

另请注意,ETag如果没有新内容可返回,则发送将节省您的费率限制。

于 2013-08-29T13:32:06.930 回答