Microsoft Graph in den PnP Modern Search WebParts nutzen

Die PnP Modern Search WebParts werden für Ergebnisse rund um SharePoint genutzt. Nebst der Datenquelle SharePoint Search können auch Daten von Microsoft Graph angezeigt werden.

blog ms graph in pnp modern search

Unterschiedliche Search Datenquellen

Beim Konfigurieren der Datenquelle für die PnP Modern Search WebParts kann zwischen SharePoint Search und Microsoft Search gewählt werden. Die beiden Datenquellen Unterscheiden sich grundsätzlich in der darunterliegenden Technologie, welche uns Microsoft zur Verfügung stellt. Einige Merkmale der verschiedenen Quellen:

SharePoint Search
– Inhalte aus SharePoint z.B. Sites, Bibliotheken, Listen, Dokumente, Elemente, Pages, Personen
– Nutzung von vordefinierten Result Sources wie LocalSharePointResults oder LocalPeopleResults

    Microsoft Search
    – Inhalte aus SharePoint
    – Inhalte aus anderen M365 Apps wie Teams und Outlook
    – Nutzung von Microsoft Graph Endpoints

    Die Microsoft Search Datenquelle bietet die Möglichkeit, weitere Daten aus den M365 Apps zu durchsuchen und anzuzeigen, u.a. Teams Messages oder Outlook E-Mails. Microsoft Graph wird stetig weiterentwickelt und integriert sich in viele der M365 Apps, zur Zeit stehen 28 Search-Endpoints zur Verfügung, die in den PnP Modern Search WebParts nach und nach verfügbar werden.

    Microsoft Graph Endpoints

    Über den Graph Explorer können die zur Verfügung stehenden Graph Endpoints geprüft werden. In den PnP Modern Search WebParts können die Entitäten für den Endpoint Search verwendet werden. Die bereitgestellten Endpoints können mittels Beispiel Query direkt gestartet (Request body – Run query) und das Suchergebnis (Response preview) mit allen Eigenschaften überprüft werden.

    image

    Eine Dokumentation der Microsoft Graph REST API mit allen Entitäten findet ihr auf der Microsoft Seite.

    Ein Auszug aus der oben genannten Dokumentation hilft zum Verständnis, welche Entität – welche Daten anzeigt, allen voran die SharePoint bezogenen Entitäten oder die Entitäten für Teams (chatMessage) und Exchange Online (message).

    tityTypePermission scope required to access the itemsSourceComment
    acronymAcronym.Read.AllMicrosoft SearchAcronyms in Microsoft Search in your organization.
    bookmarkBookmark.Read.AllMicrosoft SearchBookmarks in Microsoft Search in your organization.
    chatMessageChat.Read, Chat.ReadWrite, ChannelMessage.Read.AllTeamsTeams messages.
    messageMail.Read, Mail.ReadWriteExchange OnlineEmail messages.
    eventCalendars.Read, Calendars.ReadWriteExchange OnlineCalendar events.
    driveFiles.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.AllSharePointDocument libraries.
    driveItemFiles.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.AllSharePoint and OneDriveFiles, folders, pages, and news.
    listSites.Read.All, Sites.ReadWrite.AllSharePoint and OneDriveLists. Note that document libraries are also returned as lists.
    listItemSites.Read.All, Sites.ReadWrite.AllSharePoint and OneDriveList items. Note that files and folders are also returned as list items; listItem is the super class of driveItem.
    qnaQnA.Read.AllMicrosoft SearchQuestions and answers in Microsoft Search in your organization.
    siteSites.Read.All, Sites.ReadWrite.AllSharePointSites in SharePoint.

    Microsoft Graph im Results WebPart konfigurieren

    Um nun mit Microsoft Graph in den PnP Modern Search WebParts loszulegen, muss bei der Datenquelle die Microsoft Search gewählt werden, danach stehen die entsprechenden Einstellungsmöglichkeiten zur Konfiguration der Entität zur Verfügung.

    image

    Es stehen die folgenden Entitäten vom Endpoint Search zur Auswahl (vergleichbar mit den Result Sources der SharePoint Search) .

    image

    Nun kann das Results WebPart konfiguriert und angepasst werden u.a. der Query wie auch das Layout.

    Query in der Microsoft Search Datenquelle

    Bei der Verwendung der Microsoft Search Datenquelle kann als Query Text sowohl KQL wie auch Query Variablen verwendet werden. Es braucht keinen separaten, eigenen, Syntax, um Elemente in der Suche anzuzeigen.

    Als Beispiel werden mit der Datenquelle Microsoft Search und der Entität Drive Items (Files, folders, pages, and news von SharePoint und OneDrive) alle Dokumente von der Site /sites/MSTEvents angezeigt:

    {searchTerms} Path:https://<TENANT>.sharepoint.com/sites/MSTEvents AND IsDocument:1

    image

    Zum Prüfen, was Graph effektiv zurückgibt, kann wieder der Graph Explorer verwendet werden:

    image

    Graph Properties im Search Layout verwenden

    Die Properties von Microsoft Graph können ebenfalls in den Layouts angezeigt werden, dafür muss jeweils pro verwendetes Property ein Layout slot definiert werden. Die zu verwendenden Properties können auch über den Graph Explorer identifiziert werden.

    image

    Im PnP Results WebPart (1. Seite) muss nun ein Layout slot für das entsprechende Property erstellt werden.
    – Slot name: LastModifiedTime
    – Slot field: resource.lastModifiedDateTime (aus Graph)

    image

    Der Layout slot kann nun beispielsweise im Cards Layout genutzt werden. In den Layout options kann unter Managed card fields ein bestehender Slot verwendet und der Value entsprechend mit dem eben erstellten Layout slot angepasst werden.

    {{slot item @root.slots.LastModifiedTime}}

    image

    Durch die Verwendung der Microsoft Search Datenquelle können weitere Daten von M365 in der Suche bereitgestellt werden. Für die Konfiguration kann aber, wie in der SharePoint Search Datenquelle, die KQL wie auch die bestehenden Optionen in den WebParts verwendet werden.

    Kommentar verfassen

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

    Nach oben scrollen