Smarter Business Solutions Logo
SMARTER Business Solutions
SharePoint Lösungen & Produkte

OneDrive-Sync für mehrere SharePoint-Bibliotheken

Man kann jetzt direkt in unserer Smarter Navigation eine OneDrive-Synchronisation von mehreren SharePoint-Dokumentenbibliotheken durchführen.

5 Min Read

Wir haben euch bereits im letzten Blogbeitrag einige neue Features unserer Smarter Navigation vorgestellt. Darunter waren neue Konfigurationsmöglichkeiten für die Knoten in der Navigation, wie zum Beispiel das Festlegen eigener Icons und Farben. Mit der neuen Version der Smarter Navigation kam noch eine weitere, sehr nützliche Funktionalität hinzu. In diesem Beitrag stellen wir euch das neue Feature einer OneDrive-Synchronisation von mehreren SharePoint Dokumentenbibliotheken vor, welche ihr direkt in der Navigation vornehmen könnt.

OneDrive-Synchronisation von mehreren SharePoint-Bibliotheken

In SharePoint hat man die Möglichkeit, Dokumentenbibliotheken mit OneDrive zu synchronisieren. Dazu muss man zur Bibliothek navigieren und kann diese dort über einen Button mit OneDrive synchronisieren. Möchte man jedoch mehrere Bibliotheken synchronisieren, kann das schnell aufwändig und mühsam werden. Hier ist unser neues Feature sehr nützlich, denn damit kann man mehrere Bibliotheken auf einmal auswählen und diese in einem Schritt mit OneDrive synchronisieren.

Frontend-Umsetzung OneDrive-Synchronisation

Für das neue Feature einer OneDrive-Synchronisation zeigen wir direkt in der Navigation einen Button „Mit OneDrive öffnen“ an. Klickt der Benutzer auf diesen Button, schalten wir in den OneDrive-Synchronisationsmodus um. Der Benutzer hat dann die Möglichkeit, mehrere Dokumentenbibliotheken über eine Checkbox für die OneDrive-Synchronisation auszuwählen. Nachdem der Benutzer alle gewünschten Bibliotheken ausgewählt hat, kann er auf den Button „Auswahl synchronisieren“ klicken. Wir synchronisieren dann in einem Schritt alle gewählten Dokumentenbibliotheken mit OneDrive. Das hat den großen Vorteil, dass der Benutzer nicht jede Bibliothek einzeln mit OneDrive synchronisieren muss.

Mehrfachauswahl für OneDrive-Synchronisation in der Smarter Navigation

Unsere App benötigt für das Feature die Graph-Berechtigung „Files.ReadWrite.All“, welche von einem Administrator genehmigt werden muss. Erst nach der Genehmigung zeigen wir den Button „Mit OneDrive öffnen“ für das neue Feature an.

Synchronisation per API-Aufruf mit AadHttpClient

Für die Synchronisation mit OneDrive der gewählten Bibliotheken verwenden wir den AadHttpClient von SPFx. Diesen Client erstellen wir über eine Factory mit der URL für den bestimmten Endpoint: https://yourcompany-my.sharepoint.com

const aadHttpClientUrl = window.location.origin.replace(".sharepoint.com", "-my.sharepoint.com");
const aadHttpClient = await this.context.aadHttpClientFactory.getClient(aadHttpClientUrl);

Nachdem der AadHttpClient den Authentifizierungs-Token in den Cookies abspeichert, müssen diese für eine optimale Verwendung der Smarter Navigation zugelassen werden. Werden Cookies nicht zugelassen, kann das dazu führen, dass die Seite automatisch mehrmals neu geladen wird. Das Problem ist auf einen Bug im NPM Package @microsoft/sp-http zurückzuführen und wir haben bereits ein Ticket aufgegeben. Sobald der Fehler behoben wurde, werden wir natürlich ein Update unserer Smarter Navigation einspielen, damit es hier zu keinem Problem mehr kommt.

Mit diesem AadHttpClient führen wir einen API Call durch, um die Bibliotheken mit OneDrive zu synchronisieren:

public async syncListItemToOneDrive(item: OneDriveItem): Promise<boolean> {
    const body = {
        name: item.title,
        remoteItem: {
            sharepointIds: {
                listId: item.id,
                listItemUniqueId: "root",
                siteId: this.siteId,
                siteUrl: this.siteUrl,
                webId: this.webId,
            }
        },
        "@microsoft.graph.conflictBehavior": "rename"
    };

    const result = await this.aadHttpClient.post(`${this.aadHttpClientUrl}/_api/v2.1/drives/me/items/root/children`,
        AadHttpClient.configurations.v1,
        {
            body: JSON.stringify(body),
            headers: {
                "content-type": "application/json"
            }
        });
}

Wir hoffen, wir konnten euch mit diesem Beitrag einen guten Einblick in die OneDrive-Synchronisation von Dokumentenbibliotheken direkt in der Smarter Navigation geben.

Schlagwörter

#OneDrive #SharePoint #Smarter Navigation #Userakzeptanz

Bereit, Ihr SharePoint zu transformieren?

Lassen Sie unsere Experten Ihnen helfen, die in diesem Artikel besprochenen Lösungen umzusetzen.