Справочный центр Wialon

get_items_by_access

Метод user/get_items_by_access возвращает ID элементов указанного типа, к которым у пользователя есть как минимум заданные права доступа. Метод возвращает только список ID, поэтому он работает быстрее, чем user/get_items_access, если нужно проверить права доступа пользователя ко многим элементам.

Copied!
svc=user/get_items_by_access&params={
	"userId":<long>,
	"itemSuperclass":"<text>",
	"reqAccess":<long>
}

Параметры

Обязательные параметры отмечены звездочкой (*).

Параметр Описание
userId* ID пользователя.
itemSuperclass* Тип элемента, например avl_unit. Список типов смотрите в разделе Типы элементов. Если передать пустую строку, возвращаются элементы всех типов.
reqAccess* Требуемые права доступа: маска флагов доступа. Элемент возвращается, только если у пользователя есть все права из маски. Описание флагов смотрите в разделе Флаги доступа. Если значение равно 0 или меньше, возвращается пустой список.

Метод проверяет только те элементы, права доступа к которым назначены пользователю напрямую. Если у пользователя есть доступ к элементу только через группу (например, к объекту через группу объектов), элемент не возвращается. Чтобы получить также элементы, доступные через группы, используйте user/get_items_access со значением false в параметре directAccess.

Ответ содержит только те элементы, к которым у текущего пользователя тоже есть права из reqAccess, включая права, полученные через группы. Остальные элементы исключаются из списка без ошибки.

Чтобы получить элементы другого пользователя, необходимо право доступа Управление правами доступа пользователя на этого пользователя. Чтобы получить собственные элементы, права доступа на своего пользователя не требуются.

Ответ

Copied!
{
	"ids":[
		<long>,
		<long>,
		...
	]
}

Коды ошибок

Код ошибки Описание
4 Неверные входные параметры.
7 Не удалось получить текущего пользователя, или пользователь, указанный в параметре userId, не найден, или у вас нет права доступа Управление правами доступа пользователя на этого пользователя.

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter.