1

Ошибка 7 при попытке выполнить отчет

Тема: Ошибка 7 при попытке выполнить отчет

Всех приветствую.
Авторизовался через Remote Api, получил SID.
Чтобы выяснить Id отчета и "объекта" сделал поиск.
Отчет по группе прицепов.
При попытке выполнить отчет выдает ошибку 7, т.е. "Доступ запрещен".

  RESTRequest1.Params.Clear;
  RESTRequest1.Params.AddItem('svc', 'report/exec_report', TRESTRequestParameterKind.pkGETorPOST);
  RESTRequest1.Params.AddItem('params', '{"reportResourceId":"2049","reportTemplateId":"74","reportObjectId":"3","reportObjectSecId":"0","interval":{"from":"1538625600","to":"1538697540","flags":"0"}}', TRESTRequestParameterKind.pkGETorPOST);
  RESTRequest1.Params.AddItem('sid', EID, TRESTRequestParameterKind.pkGETorPOST);
  RESTRequest1.Execute;

Под учеткой, которой проходила авторизация в программе имеется полный доступ к ресурсу.
reportResourceId указал равным bact из данных пользователя.

2

Ошибка 7 при попытке выполнить отчет

Re: Ошибка 7 при попытке выполнить отчет

arivano пишет:

Всех приветствую.
Авторизовался через Remote Api, получил SID.
Чтобы выяснить Id отчета и "объекта" сделал поиск.
Отчет по группе прицепов.
При попытке выполнить отчет выдает ошибку 7, т.е. "Доступ запрещен".

  RESTRequest1.Params.Clear;
  RESTRequest1.Params.AddItem('svc', 'report/exec_report', TRESTRequestParameterKind.pkGETorPOST);
  RESTRequest1.Params.AddItem('params', '{"reportResourceId":"2049","reportTemplateId":"74","reportObjectId":"3","reportObjectSecId":"0","interval":{"from":"1538625600","to":"1538697540","flags":"0"}}', TRESTRequestParameterKind.pkGETorPOST);
  RESTRequest1.Params.AddItem('sid', EID, TRESTRequestParameterKind.pkGETorPOST);
  RESTRequest1.Execute;

Под учеткой, которой проходила авторизация в программе имеется полный доступ к ресурсу.
reportResourceId указал равным bact из данных пользователя.

Добрый день!

Есть ли доступ из-под данной учетки к объекта, над которым выполняется отчет?

3

Ошибка 7 при попытке выполнить отчет

Re: Ошибка 7 при попытке выполнить отчет

muev пишет:
arivano пишет:

Всех приветствую.
Авторизовался через Remote Api, получил SID.
Чтобы выяснить Id отчета и "объекта" сделал поиск.
Отчет по группе прицепов.
При попытке выполнить отчет выдает ошибку 7, т.е. "Доступ запрещен".

  RESTRequest1.Params.Clear;
  RESTRequest1.Params.AddItem('svc', 'report/exec_report', TRESTRequestParameterKind.pkGETorPOST);
  RESTRequest1.Params.AddItem('params', '{"reportResourceId":"2049","reportTemplateId":"74","reportObjectId":"3","reportObjectSecId":"0","interval":{"from":"1538625600","to":"1538697540","flags":"0"}}', TRESTRequestParameterKind.pkGETorPOST);
  RESTRequest1.Params.AddItem('sid', EID, TRESTRequestParameterKind.pkGETorPOST);
  RESTRequest1.Execute;

Под учеткой, которой проходила авторизация в программе имеется полный доступ к ресурсу.
reportResourceId указал равным bact из данных пользователя.

Да, под учеткой, которой вхожу, я могу прокрутить все отчеты и имею доступ ко всем объектам.
Добрый день!

Есть ли доступ из-под данной учетки к объекта, над которым выполняется отчет?

4

Ошибка 7 при попытке выполнить отчет

(04/12/2018 17:58:33 отредактировано 22polyak)

Re: Ошибка 7 при попытке выполнить отчет

arivano пишет:

Под учеткой, которой проходила авторизация в программе имеется полный доступ к ресурсу.

Это не значит что есть доступ на расширенные отчеты.Отчет по группе попадает в расширенные.
Смотрите на свой доступ токена, флаги. Может с ограничениями.
https://sdk.wialon.com/wiki/en/sidebar/ … cess_flags

5

Ошибка 7 при попытке выполнить отчет

Re: Ошибка 7 при попытке выполнить отчет

Добрый день. Тоже возникла проблема с доступом к ресурсу.
Пользователь user0 создал пользователей user1 и user2. Выдал права пользователю user1 на пользователя user2 (это сделал в cms.wialon.com - пользователи). Это было сделано для того чтобы user1 мог создавать объекты от имени user2 через API запросы, но при любой попытке выдает ошибку 7, даже посмотреть свойства user2 например через core/search_items  не дает, в общем вообще ни как не видит user2. Токен для user1 создавался с access_type=-1. Здесь https://docs.wialon.com/ru/hosting/cms/rights/user сказано что

Один пользователь может иметь права на другого

. Что я делаю не так? Подскажите пожалуйста.

6

Ошибка 7 при попытке выполнить отчет

Re: Ошибка 7 при попытке выполнить отчет

Разобрался. Неправильно выдал права и соответственно все пошло не так.

7

Ошибка 7 при попытке выполнить отчет

Re: Ошибка 7 при попытке выполнить отчет

Добрый день. Все таки не разобрался до конца по вопросу указному мною выше, теперь при попытке создания объекта user1'ом от имени user2 через api выдает ошибку 6. Права "Полный доступ" у user1 на user2. Создавать объекты от имени user2 сейчас может только user0. Пользователь user1 видит и может менять параметры пользователя user2. Подскажите пожалуйста правильный вариант создания объекта от другого пользователя.

8

Ошибка 7 при попытке выполнить отчет

Re: Ошибка 7 при попытке выполнить отчет

Antonocom пишет:

Добрый день. Все таки не разобрался до конца по вопросу указному мною выше, теперь при попытке создания объекта user1'ом от имени user2 через api выдает ошибку 6. Права "Полный доступ" у user1 на user2. Создавать объекты от имени user2 сейчас может только user0. Пользователь user1 видит и может менять параметры пользователя user2. Подскажите пожалуйста правильный вариант создания объекта от другого пользователя.

Добрый день,

Для того, чтобы пользователь мог создавать объекты от имени другого пользователя у него должно быть право "Действовать от имени этого пользователя"
Дополнительно для токена права не меньше, чем "Доступ к большей части информации" (флаг  0x200(512))

по вашим словам только user0 может создавать объекты от имени user2, значит у user1 нехватает нужных прав. Либо дайте ему права, либо создавайте объекты от  user0

Wialon Specialist
Gurtam
9

Ошибка 7 при попытке выполнить отчет

Re: Ошибка 7 при попытке выполнить отчет

Для того, чтобы пользователь мог создавать объекты от имени другого пользователя у него должно быть право "Действовать от имени этого пользователя"
Дополнительно для токена права не меньше, чем "Доступ к большей части информации" (флаг  0x200(512))

Право "Действовать от имени этого пользователя"  стоит. Токен я создавал с флагом -1 т.е. полный доступ, попробовал с флагом 512 та же ошибка 6 при попытке создания. Мне вот тут и не понятно, все права есть, да и как я понимаю если бы не было прав на создание то выдавалась бы ошибка 7

10

Ошибка 7 при попытке выполнить отчет

Re: Ошибка 7 при попытке выполнить отчет

Antonocom пишет:

Для того, чтобы пользователь мог создавать объекты от имени другого пользователя у него должно быть право "Действовать от имени этого пользователя"
Дополнительно для токена права не меньше, чем "Доступ к большей части информации" (флаг  0x200(512))

Право "Действовать от имени этого пользователя"  стоит. Токен я создавал с флагом -1 т.е. полный доступ, попробовал с флагом 512 та же ошибка 6 при попытке создания. Мне вот тут и не понятно, все права есть, да и как я понимаю если бы не было прав на создание то выдавалась бы ошибка 7

по вашим словам только user0 может создавать объекты от имени user2, а запросы все-таки выполняете от другого пользователя? Непонятно.
Скиньте в ЛС имя пользователя от которого выполняете запрос , валидный токен , и сами параметра запроса по созданию объекта

Wialon Specialist
Gurtam
11

Ошибка 7 при попытке выполнить отчет

(13/12/2018 09:58:43 отредактировано chdi)

Re: Ошибка 7 при попытке выполнить отчет

chdi пишет:
Antonocom пишет:

Добрый день. Все таки не разобрался до конца по вопросу указному мною выше, теперь при попытке создания объекта user1'ом от имени user2 через api выдает ошибку 6. Права "Полный доступ" у user1 на user2. Создавать объекты от имени user2 сейчас может только user0. Пользователь user1 видит и может менять параметры пользователя user2. Подскажите пожалуйста правильный вариант создания объекта от другого пользователя.

Добрый день,

Для того, чтобы пользователь мог создавать объекты от имени другого пользователя у него должно быть право "Действовать от имени этого пользователя"
Дополнительно для токена права не меньше, чем "Доступ к большей части информации" (флаг  0x200(512))

по вашим словам только user0 может создавать объекты от имени user2, значит у user1 нехватает нужных прав. Либо дайте ему права, либо создавайте объекты от  user0

Summary

выбор создателя при создании объекта (из списка на сайте мониторинга, либо через указания creatorID ) доступен только из нижестоящих пользователей(учеток)
Если пользователи находятся на одном уровне иерархии, то так просто не получится создать объект, несмотря на права. Необходимо будет вначале войти как этот будущий создатель - запрос core/duplicate c указанием sid после логина основного пользователя - и уже потом создавать от него объект

Wialon Specialist
Gurtam