使用GitLab API,我如何获取活跃用户列表?

8

Gitlab-CE v8.14.3

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

$ curl -XGET "Private-Token: kfjakjfkjkd" https://company.domain.com/api/v3/users?active=true

我一直收到401(未经授权)错误。就像我说的,我是管理员。出了什么问题?

2个回答

13

根据Bertrand Martel的回答,您必须使用-H选项指定标题。 这将检索最多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 

2
这正是我所期望的答案,因为我的用户基数远超过100。谢谢! - scniro
谢谢,正是我想要的!我想补充一下,如果您请求一个不存在的页面(超过分页限制),那么您会得到 [] - Aron Atilla Hegedus

5
你需要指定 Private-Token: kfjakjfkjkd 是一个带有 -H 的HTTP头:
curl -H "Private-Token: kfjakjfkjkd" https://company.domain.com/api/v4/users?active=true

1
截至当前版本(3月19日的11.5版),API版本为v4而不是v3,仅更改此即可。 - aseques

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接