Я работаю над созданием страницы в SharePoint с помощью response-tsx. Пользователь должен иметь возможность выбрать группу, которая будет сохранена в состоянии и в конечном итоге обновлена с помощью @ pnp / pnpjs. Pnp также будет использоваться для получения уже существующей информации.
Изначально я хотел внедрить 'сборщик', который вы можете найти здесь: https://sharepoint.github.io/sp-dev-fx-property-controls/controls/PropertyFieldPeoplePicker/
Этот сборщик показывает все группы, которые мне нужны, нок сожалению, я не могу сохранить выбранные группы в состоянии, а также обновить информацию.
Я решил ввести MS Graph на основе этих страниц: https://docs.microsoft.com/en-us/sharepoint/dev/spfx/use-aad-tutorial
и
https://spblog.net/post/2018/12/11/SPFx-webpart-with-MS-Graph-and-PnPjs-step-by-step-guide
К сожалению, моя реализация не удалась.
Сборщик:
<PeoplePicker
context={this.props.context}
titleText='Effected Group(s)'
personSelectionLimit={99}
groupName={''}
isRequired={true}
selectedItems={this.getGroups}
showHiddenInUI={false}
defaultSelectedUsers={this.props.group}
principalTypes={[
PrincipalType.User,
PrincipalType.SharePointGroup,
PrincipalType.DistributionList,
PrincipalType.SecurityGroup
]}
ensureUser={true}
peoplePickerWPclassName={styles.picker}
resolveDelay={1000}
/>
Как я получаю информацию:
pnp.sp.web.lists.getByTitle("Page")
.items.getById(myId).get().then((item: any) => {
console.log(item);
this.setState({text: item.Text});
});
Я также попробовал это с .select и .expand
Моя попытка с MS Graph:
Я создал все файлы и выполнил следующие шаги здесь: https://docs.microsoft.com/en-us/sharepoint/dev/spfx/use-aad-tutorial
Я не создавал панель поиска и т. Д., Но я просто хотел сначала зарегистрировать группы.
this.props.context.msGraphClientFactory.getClient()
.then((client: MSGraphClient): void => {
console.log(client);
});
После внедрения MS Graph я получаю сообщения об ошибках типа:
Не удалось загрузить компонент
Не удалось загрузить зависимость пути
Ошибка в SPLoaderError.SPError
КСТАТИ:
ThСтраница отлично работает без MS Graph и реализованных сборщиков. Это включает получение, настройку и обновление информации.
Я надеюсь, что кто-то уже работал с MS Graph или нашел другой путь без MS Graph для получения групп AD. Моя цель - получить группы AD, отобразить их в поле (например, Picker) и обновить состояние с помощью выбранных групп.
Спасибо за потраченное время.