Использование SPServices с GetTemplateForItem для получения GUID рабочего процесса - возможные проблемы с разрешениями

Кажется, у меня проблема с GetTemplateForItem для получения GUID рабочего процесса элемента списка.

Когда я запускаю его со своей учетной записью, я могу получить GUID рабочего процесса без проблем. Когда я запускаю его с обычной учетной записью, ошибки не возвращаются, но также нет информации о возвращенном рабочем процессе. Это текст ответа:

    <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GetTemplatesForItemResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/workflow/"><GetTemplatesForItemResult><TemplateData><Web Title="TITLE" Url="https://url.com" /><List Title="List Title" Url="https://url.com/Lists/List Title" /><WorkflowTemplates></WorkflowTemplates></TemplateData></GetTemplatesForItemResult></GetTemplatesForItemResponse></soap:Body></soap:Envelope>

В основном любая информация о рабочем процессе не возвращается. Кто-нибудь знает, какие разрешения требуются для использования этой функции? Я попытался дать пользователю полный контроль над элементом списка (который не работает). Единственная вещь, которая, кажется, работает, это дать больше контроля над всем сайтом через разрешения на доступ к сайтам Sharepoint (что мы действительно не хотим делать для всех!).

Похоже, что "Переопределить поведение списка" и / или "Перечислить разрешения" через разрешения сайта может разрешить его запуск, но я пока не смог полностью протестировать это.

В идеале нам не нужно менять полные права пользователей на сайте. Я предполагаю, что есть место, где мы могли бы предоставить пользователям более высокие разрешения на более низком уровне, который не охватывает весь сайт.

1 ответ

Чтобы сервис workflow.asmx работал, нам нужно иметь разрешение на уровне элемента. Попробуйте выяснить разрешение на уровне элемента, если у пользователя есть достаточное разрешение, которое будет выполнять веб-метод.

Чтобы проверить разрешение уровня элемента, перейдите в Option -> Share with -> Advanced.

Здесь вы можете проверить разрешение для этого конкретного элемента.

Другие вопросы по тегам