Получить всех пользователей
Возвращает массив всех существующих users.
Приватные поля, например пароль, не включены в ответ.
Запрос
Права
Пользователь должен иметь права manage-users
, чтобы получить все возможные поля. Подробнее смотрите в разделе Ответ.
Если у пользователя нет прав manage-users
, ответ будет содержать только поля id
и login
.
Для пользователей без прав manage-users , поля login будет содержать значение поля displayName .
|
[
{
"id": "5716383a15ebe5891125d6ca",
"login": "exampl******"
},
{
"id": "578cf86daa6ca8853bec66df",
"login": "manually-set-display-name"
},
...
]
Ответ
Возвращает массив всех пользователей. Подробная информация о модели доступна в статье Пользователь.
Следующие поля возвращаются для нового пользователя:
Поле | Тип | Описание |
---|---|---|
id |
String |
ID пользователя. |
login |
String |
Логин пользователя. Если не указан, в этом поле будет записан его email. |
displayName |
String |
Публичное имя пользователя. Используется для скрытия логина. Имя не может совпадать с логином. По умолчанию создаётся из логина. Для этого, вторая половина логина маскируется символом |
permissions |
Array<String> |
Массив прав, доступных этому пользователю. Подробнее можно прочитать в статье Права. |
objectPermissions.exclude |
Array<String> |
Массив объектов, к которым у пользователя нет доступа. Подробнее можно прочитать в статье Права. |
objectPermissions.include |
Array<String> |
Массив объектов, к которым у пользователя есть доступ. Подробнее можно прочитать в статье Права. |
contacts |
Array<String> |
Массив контактов пользователя (email, номер телефона и т.д.). |
eventFilter |
Array<EventFilter> |
Массив фильтров событий, настроенных пользователем. |
status |
Integer |
Остальные публичные поля возвращаются только если им было присвоено значение. Например, если добавить пользователя к группе, то список групп будет добавлен в ответ.
Если вернуть такое поле в стандартное значение, то оно всё равно будет включено в ответ.
-
Новый пользователь
-
Пользователь добавлен в группу
-
Пользователь удалён из всех групп, добавлен email
{
"id": "62fb8dcd5bf42e66c36afd42",
"login": "new_user",
"displayName": "new_****",
"permissions": [],
"objectPermissions": {
"include": [],
"exclude": []
},
"contacts": [],
"eventFilter": [],
"status": 2
}
{
"id": "62fb8dcd5bf42e66c36afd42",
"login": "new_user",
"displayName": "new___**__",
"permissions": [],
"objectPermissions": {
"include": [],
"exclude": []
},
"contacts": [],
"eventFilter": [],
"status": 2,
"group": [
"5a0b26aac9a7733f56b01a14"
]
}
{
"id": "62fb8dcd5bf42e66c36afd42",
"login": "new_user",
"displayName": "new_****",
"permissions": [],
"objectPermissions": {
"include": [],
"exclude": []
},
"contacts": [],
"eventFilter": [],
"status": 2,
"group": [],
"email": "test_email@example.com"
}
Пример
Запрос
-
Bash
-
JavaScript
-
NodeJS
-
Python
login=<...>
password=<...>
saymon_hostname=<...>
url=https://$saymon_hostname/node/api/users
curl -X GET $url -u $login:$password
let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/users";
let auth = "Basic " + btoa(login + ":" + password);
let headers = new Headers();
headers.append("Authorization", auth);
let requestOptions = {
method: "GET",
headers: headers
};
fetch(saymonHostname + path, requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log("error", error));
const http = require("http");
let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/users";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");
let options = {
"method": "GET",
"hostname": saymonHostname,
"headers": {
"Authorization": auth
},
"path": path
};
let req = http.request(options, function (res) {
let chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
let body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
req.end();
import requests
login = <...>
password = <...>
saymon_hostname = <...>
url = "https://" + saymon_hostname + "/node/api/users"
response = requests.request("GET", url, auth=(login, password))
print(response.text)
Ответ
[
{
"id": "5e21b752308c3c66d64e072c",
"login": "admin",
"group": null,
"authenticationToken": null,
"status": 2,
"eventFilter": [],
"permissions": [
"manage-objects",
],
"contacts": []
},
{
"id": "5e4fc1c77915112ac209e53d",
"login": "John",
"status": 2,
"eventFilter": [],
"objectPermissions": {
"include": [
1
],
"exclude": [
"5e21b85b308c3c66d64e07bc"
]
},
"permissions": [],
"contacts": []
},
{
"id": "5e78c51788c61a1fbf34b673",
"login": "Bob",
"status": 2,
"eventFilter": [],
"permissions": [
"manage-links"
],
"contacts": []
}
]