Как пройти по многозначному полю людей или полю поиска в конструкторе SharePoint 2013 с помощью REST - PullRequest
0 голосов
/ 01 октября 2019

У меня есть многозначный подборщик людей и многозначное поле поиска, которое мне нужно, чтобы прочитать все записи в рабочем процессе 2013 года. Я знаю, как создать рабочий процесс, который извлекает данные и выполняет итерацию по каждому элементу списка, используя REST и словарь. Поскольку я перебираю каждый элемент, мне нужно перебрать каждое многозначное поле.

Раньше я делал это с помощью итератора цикла и второй записи в словаре, представляющей данные в множественном числе. поле, но у меня больше нет доступа к этому коду. Я могу использовать цикл и использовать функцию find для анализа моего responseContent, но это ненадежно, поскольку в моем reponseContent будет несколько записей, и я знаю, что это можно сделать с помощью второй записи в словаре.

Мой RESTзапрос:

_api/lists/GetByTitle('EmailSetup')/Items?$select=EmailYN,EmailSubject,EmailBody,EmailTo/EMail,Emailcc/EMail,EmailToWorkflowPerson/Title,EmailccWorkflowPersons/Title&$filter=(Title%20eq%20%27BSM%20Review%27)%20and%20(WorkflowName%20eq%20%27ProcessBSMRequests%27)&$expand=EmailTo,Emailcc,EmailToWorkflowPerson,EmailccWorkflowPersons

Где мои многозначные поля - Emailcc и EmailccWorkflowPerson, (подборщик и поиск людей соответственно).

У меня есть первый словарь в качестве следующей структуры данных, которая фиксируетthe requestHeaders

Accept        String  application/json;odata=verbose
Content-Type  String  application/json;odata=verbose

В моем первом цикле я получаю все свои атрибуты, но не знаю, как получить многозначные поля Emailcc и EmailccWorkflowPersons.

Да, я могу проанализировать свой ответ, но есть лучший способ как-то поместить эти многозначные поля в структуру, а затем перебрать их.

Что мне нужно, так это что это за структура (словарь) и как вы вводите данные в эту структуру, а затем как вы проходите через эту структуру.

Окончательный результат должен бытьsort (psuedocode), где Index - это запись, в которой я нахожусь, а Index2 - это какое многозначное значение, в котором я нахожусь.

d/results([%Varaible: Index%])/Emailcc/Email[%Variable: Index2%])xxx

1 Ответ

0 голосов
/ 01 октября 2019

С большим количеством отладки я получил половину своего ответа, и, возможно, кто-то может помочь мне с другой половиной. Структура данных данных, когда они возвращаются через REST, выглядит следующим образом (некоторая маскировка наших собственных данных):

responseContent={"d":{"results":[{
"__metadata":{"id":"Web\/Lists(guid'c7bb71c8-a9dd-495f-aa5f-4dcacdf8db5c')\/Items(1)","uri":"https:\/\/xxxxx.xxxxxx.xxxxxxxxx.xxx\/hc\/teams\/MES\/_api\/Web\/Lists(guid'c7bb71c8-a9dd-495f-aa5f-4dcacdf8db5c')\/Items(1)","etag":"\"13\"","type":"SP.Data.EmailSetupListItem"},
"EmailTo":{"__metadata":{"id":"b493bee4-ec1a-4b76-a028-11766bdb7e5b","type":"SP.Data.UserInfoItem"},"EMail":"xyxee.dyff@homeward.com"},
"EmailToWorkflowPerson":{"__deferred":{"uri":"https:\/ \/xxxxx.xxxxxx.xxxxxxxxx.xxx\/hc\/teams\/MES\/_api\/Web\/Lists(guid'c7bb71c8-a9dd-495f-aa5f-4dcacdf8db5c')\/Items(1)\/EmailToWorkflowPerson"}},
"Emailcc":{"results":[{"__metadata":{"id":"790a690a-515b-4d07-bba3-73bf325fbbed","type":"SP.Data.UserInfoIt em"},"EMail":"xyxee.dyffns1@homeward.com"},{"__metadata":{"id":"3d77e75c-5fa8-4df6-937c-97e572714843","type":"SP.Data.UserInfoItem"},"EMail":"xyxee.dyffr@homeward.com"}]},
"EmailccWorkflowPersons":{"results":[{"__metadata":{"id":"06582ed9-09 10-4932-9b43-0cfb072942c7","type":"SP.Data.WorkflowPersonsListItem"},"Title":"Assistant Administrator"},{"__metadata":{"id":"13d03566-1703-4550-a21f-08ea286d4940","type":"SP.Data.WorkflowPersonsListItem"},"Title":"Initiator"}]},
"EmailYN":"No",
"EmailSubject":"BSM Request # %%ID%%",
"EmailBody":"<div class=\"ExternalClass645790473F7D4B62BE6224DD7B93990F\">%%IDLINK%%<br><\/div><div class=\"ExternalClass645790473F7D4B62BE6224DD7B93990F\">and the BSM#&#160;%%ID%%<br><\/div><div class=\"ExternalClass64 5790473F7D4B62BE6224DD7B93990F\"><br><\/div>"
}]}}

Я создал еще одну словарную переменную, EmailResults, как первую, в которой хранятсязначение emailcc адресов.

Затем следующее Get:

Get d/results([%variable: Index%)/Emailcc/results from Variable:responseContent (Output to Variable: EmailccResults)

Чтобы получить количество записей, я использую Count Items в EmailccResults

Я установил свой второй индекс для запускав ноль и цикл по числу на основе счетчика в EmailccResults. Чтобы установить мой промежуточный адрес электронной почты (получая одно значение за раз из многозначного средства выбора людей).

Get d/results([%variable: Index%)/Emailcc/results(%Variable: Index2%)/EMail from Variable: responseContent (Output to Variable: EmailCc)

, затем я увеличиваю переменную Index2 и перехожу к следующей записи. Это прекрасно работает.

Теперь моя проблема в том, что у меня есть многозначный поиск, включенный в этот запрос (посмотрите результаты выше). Я пытаюсь использовать ту же логику, и я успешно получаю счет, но не поля заголовка. Мое получение:

Получение d / results ([% variable: Index%) / EmailccWorkflowPersons / results из переменной: responseContent (Вывод в переменную: EmailccResults)

Мое фактическое назначение:

Get d/results([%variable: Index%)/EmailccWorkflowPersons/results(%Variable: Index2%)/Title from Variable: responseContent (Output to Variable: tmpvar)

** Поиск работает точно так же. Моя проблема заключалась в том, что в моем окне выше было несколько пустых строк в текстовом поле.

...