0

尝试为一些公共 GitLab 用户显示自定义属性(主要是 location 字段)。但它不工作

我正在使用 python gitlab 库来获取列表。我可以打印用户名、ID 和 url。现在我想访问自定义属性,例如位置,但它不适用于我!我正在从浏览器尝试以下它不起作用(例如:用户名=gitlab)

https://gitlab.com/api/v4/users?username=gitlab&private_token=mytoken

# this brings the users list
import gitlab
gl = gitlab.Gitlab('http://gitlab.com', private_token='mytoken')
users = gl.users.list()
for u in users:
    print (u.name)
    print (u.id)
    print (u.web_url)
4

2 回答 2

1

请注意官方 API 文档的摘录:

对自定义属性的每个 API 调用都必须以管理员身份进行身份验证。自定义属性当前可用于用户、组和项目,在本文档中将被称为“资源”。

您用来验证自己的帐户似乎必须对查询的 GitLab 实例具有管理权限。检查您的特定帐户以及 GitLab 实例是否属于这种情况。

您可以在自定义属性部分找到自定义用户属性的 python-gitlab API 文档。 否则还有此功能的官方 API 文档。

对于您的示例,有效调用如下所示:

import gitlab

gl = gitlab.Gitlab('http://gitlab.com', private_token='mytoken')
users = gl.users.list()

for user in users:
    attrs = user.customattributes.get('location')
于 2019-12-11T22:50:18.157 回答
0

此功能仅适用于 GitLab.com 中的管理员

于 2021-08-23T09:44:44.847 回答