Setup SharePoint Sync

Voraussetzungen

  • AD Admin Rechte
  • Safe AI Plus App Registration mit Sites.Read.All oder Sites.Select Berechtigung
  • Zugriffsrechte auf die SharePoint Site

1. Einrichten App Registration

Es wird angenommen, dass die App Registration bereits erstellt ist.

  1. Zum Azure Portal navigieren und nach der App Registration suchen
  2. Auf die App Registration klicken
  3. Auf "API Permissions" klicken
  4. Auf "Add a permission" klicken
  5. "Sites.Read.All" oder "Sites.Select" auswählen
Step 1

2. Einrichten der SharePoint Site für den Zugriff durch die App Registration

2.1 MS Graph Explorer aufrufen

https://developer.microsoft.com/en-us/graph/graph-explorer

2.2 Mit dem Admin-Konto anmelden

Step 2

2.3 Graph Explorer die richtigen Berechtigungen geben

"Sites.FullControl.All"

Step 2

2.4 Site-ID abrufen

Zum Abrufen der Site-ID wird folgende Abfrage verwendet, um ein minimales JSON zu erhalten:

Step 2
GET | https://graph.microsoft.com/v1.0/sites?select=webUrl,Title,Id&$search="<Name of the site>*"
{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#sites",
    "value": [
        {
            "id": "hellospaces.sharepoint.com,4b1ef4bf-3127-4f0b-a8fa-7f2c65d4ef98,9ef0b590-0b0b-451d-82c4-5d358100a905",
            "webUrl": "https://contoso.sharepoint.com/sites/YourSite",
            "displayName": "Your site"
        },
        ....
    ]
}

Sollte der Aufruf nicht funktionieren,können Sie auch den folgenden Aufruf verwenden:

GET: "https://graph.microsoft.com/v1.0/sites/<tenant-name>.sharepoint.com:/sites/

2.5 Gewähren Sie der App Berechtigung zum Site

Step 2

Kopieren Sie die ID (ja, die lange mit allen Kommas, siehe Screenshot unten) für den Site, den Sie der App-Berechtigung gewähren möchten, und führen Sie die folgenden Anfragen auf diesem aus:

POST | https://graph.microsoft.com/v1.0/sites/<SiteId_TheLongOne>/permissions
i.e.

POST | https://graph.microsoft.com/v1.0/sites/hellospaces.sharepoint.com,4b1ef4bf-3127-4f0b-a8fa-7f2c65d4ef98,9ef0b590-0b0b-451d-82c4-5d358100a905/permissions
Body:

{
    "roles": [
        "read"
    ],
    "grantedToIdentities": [
        {
            "application": {
                "id": "97f53379-1f99-4308-9265-c82b505dec9c", //ClientId for your app registration
                "displayName": "Safe AI Plus App Demo"
            }
        }
    ]
}

2.6 Überprüfen Sie, ob die App Berechtigung zum Site hat


GET https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/items

GET | https://graph.microsoft.com/v1.0/sites/<SiteId_TheLongOne>/permissions

2.7 Abfragen der Listen ID

GET | https://graph.microsoft.com/v1.0/sites/<SiteId_TheLongOne>/lists

Diese ID wird benötigt um die Berechtigung zu gewähren.

Siehe auch: https://blog.dan-toft.dk/2022/12/sites-selected-permissions/

3. Konfiguration der Syncintervalle

Ein Sync Job wird anhand von Zeitintervallen ausgeführt. Jeder Sync Job generiert Tasks für die Verarbeitung der Dateien

Bitte passen Sie die Intervalle den Enviroment-Einstellung der Azure Function App an Ihre Bedürfnisse an. Für Cron Expressions: Crontab.guru

Step 2

4. Sync Jobs

4.1 Einrichten der Sync Jobs

Step 2

Tragen Sie die Site-ID und die und die Listen-ID ein. Füllen Sie auch die Workspace ID und die Knowledge Base ID aus.

Sollte der Sync Job nur auf ein Unterverzeichnis der SharePoint Site ausgerichtet sein, können Sie dieses angeben.

Sollten sie das Cron Expression leer lassen, wird der Job nur jeweils manuell ausgeführt.

Anschließend klicken Sie auf "Testen" und danach auf "Create".

4.2 Anzeigen der Sync Jobs

Step 2

4.3 Anzeigen der Tasks

Step 2

4.4 Anzeigen der Knowledge Base

Step 2