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-Synchronisation Modus 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.

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 über API Call mittels 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");
var 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.

Haben wir dein Interesse geweckt und hättest du gerne mehr Informationen zu unserer Smarter Navigation? Dann nimm gerne mit uns Kontakt auf. Du kannst dich auch in unseren Newsletter eintragen – dann kriegst du als Erster über Neuigkeiten Bescheid:

Kontakt aufnehmen

Keine Angebote und Neuheiten mehr verpassen?

Melde dich für unseren Newsletter an und erfahre als Erstes von spannenden neuen Produkten und Themen rund um Microsoft SharePoint, Teams und Co.



Du kannst dich jederzeit wieder abmelden. Deine Daten werden nur für den Versand unseres Newsletters verwendet und nicht an Dritte weitergegeben. Zusätzliche Informationen zum Schutz deiner Daten erhältst du in unserer Datenschutzerklärung.