使用 gitlab api,如何获取活动用户列表?

Chr*_*s F 5 gitlab gitlab-omnibus gitlab-api

Gitlab-CE v8.14.3

我正在阅读GitLAB API 文档,并试图获取活动用户列表。我是管理员并创建了个人令牌。我这样做

$ curl -XGET "Private-Token: kfjakjfkjkd" https://company.domain.com/api/v3/users?active=true
Run Code Online (Sandbox Code Playgroud)

并不断收到 401(未经授权)错误。就像我说的,我是管理员。是什么赋予了?

Joh*_*hee 6

您必须使用-HBertrand Martel 的回答中所述的选项指定标题。这将检索多达 20 个用户。

超过 20 个用户,你必须变得更加狂热。JSON 输出是分页的,每个查询限制为每页 100 个用户。所以要获得 300 个用户,您必须获得三个页面,一次 100 个用户:

curl -H "Private-Token: kfjakjfkjkd" "https://company.domain.com/api/v4/users?active=true&per_page=100&page=1" > gitlabusers1.json
curl -H "Private-Token: kfjakjfkjkd" "https://company.domain.com/api/v4/users?active=true&per_page=100&page=2" > gitlabusers2.json 
curl -H "Private-Token: kfjakjfkjkd" "https://company.domain.com/api/v4/users?active=true&per_page=100&page=3" > gitlabusers3.json 
Run Code Online (Sandbox Code Playgroud)

  • 这是我一直在寻找的答案,因为我的用户群远高于 100。谢谢! (2认同)

Ber*_*tel 5

您需要指定这Private-Token: kfjakjfkjkd是一个 HTTP 标头-H:

curl -H "Private-Token: kfjakjfkjkd" https://company.domain.com/api/v4/users?active=true
Run Code Online (Sandbox Code Playgroud)