Freigeben über


Beispiel-SharePoint-Add-In für Taxonomievorgänge

Die Core.MMS-Beispiel-Konsolenanwendung zeigt Ihnen, wie Sie mit dem verwalteten SharePoint-Metadatendienst interagieren, um Ausdrücke, Ausdruckssätze und -gruppen zu erstellen und abzurufen. Dieses Beispiel kann auch in einem vom Anbieter gehosteten Add-In, z. B. einer ASP.NET MVC-Webanwendung, ausgeführt werden.

Verwenden Sie diese Lösung, wenn Sie Ausdrücke zwischen SharePoint-Farmen migrieren oder Ausdrücke in Ihrem benutzerdefinierten Add-In anzeigen möchten.

Bevor Sie beginnen

Laden Sie zunächst das Core.MMS-Beispiel-Add-In aus dem Projekt "Office 365-Entwicklermuster und -vorgehensweisen" auf GitHub herunter.

Hinweis

Der Code in diesem Artikel wird wie besehen und ohne jegliche Garantie zur Verfügung gestellt, gleich ob ausdrücklich oder konkludent, einschließlich jedweder stillschweigenden Gewährleistung der Eignung für einen bestimmten Zweck, Marktgängigkeit oder Nichtverletzung von Rechten.

Bevor Sie dieses Add-In ausführen, benötigen Sie Folgendes:

  • Die URL Ihrer SharePoint-Website.
  • Die Berechtigung zum Zugriff auf den Terminologiespeicher im verwalteten Metadatendienst.

Die nachstehende Abbildung zeigt das Office 365 Admin Center, dem diese Berechtigungen zugewiesen werden.

Screenshot des SharePoint Admin Centers mit hervorgehobenen Terminologiespeicher, Taxonomieterminologiespeicher-Suchfeld, und Terminologiespeicheradministratoren.

So weisen Sie dem Terminologiespeicher Berechtigungen zu:

  1. Wählen Sie im Office 365 Admin Center Terminologiespeicher aus.

  2. Wählen Sie in TAXONOMIETERMINOLOGIESPEICHER den Ausdruckssatz aus, den Sie einem Administrator zuweisen möchten.

  3. Geben Sie in Terminologiespeicheradministratoren das Organisationskonto ein, bei dem Berechtigungen für den Terminologiespeicheradministrator erforderlich sind.

Verwenden des Core.MMS-Beispiel-Add-Ins

Wenn Sie das Add-In starten, wird eine ähnliche Konsolenanwendung wie in der nachstehenden Abbildung angezeigt. Sie werden aufgefordert, die URL Ihrer SharePoint- oder SharePoint Online-Website und Ihre Anmeldeinformationen einzugeben.

Screenshot der Core.MMS-Beispiel-Add-In-Konsole, die dazu auffordert, den SharePoint-Benutzernamen und das Kennwort einzugeben.

Nachdem Sie die SharePoint-URL und Ihre Anmeldeinformationen eingegeben haben, erfolgt die Benutzerauthentifizierung.

Der folgende Code führt die Benutzerauthentifizierung in SharePoint Online aus.

ClientContext cc = new ClientContext(siteUrl);
cc.AuthenticationMode = ClientAuthenticationMode.Default;
// For SharePoint Online.
cc.Credentials = new SharePointOnlineCredentials(userName, pwd);

Der folgende Code führt die Benutzerauthentifizierung in SharePoint Online (dediziert) oder in einer lokalen SharePoint-Farm aus.

ClientContext cc = new ClientContext(siteUrl);
cc.AuthenticationMode = ClientAuthenticationMode.Default;
// For SharePoint Online Dedicated or on-premises .
cc.Credentials = new NetworkCredential(userName, pwd);

Die CreateNecessaryMMSTermsToCloud-Methode erstellt eine Gruppe, einen Ausdruckssatz und mehrere Ausdrücke im verwalteten Metadatendienst. Der Code ruft zuerst einen Verweis auf das TaxonomySession-Objekt und dann auf das TermStore-Objekt ab, bevor die benutzerdefinierte TermGroup, TermSet und neue Begriffe erstellt werden.

private static void CreateNecessaryMMSTermsToCloud(ClientContext cc)
        {
            // Get access to taxonomy CSOM.
            TaxonomySession taxonomySession = TaxonomySession.GetTaxonomySession(cc);
            cc.Load(taxonomySession);
            cc.ExecuteQuery();

            if (taxonomySession != null)
            {
                TermStore termStore = taxonomySession.GetDefaultSiteCollectionTermStore();
                if (termStore != null)
                {
                    //
                    // Create group, termset, and terms.
                    //
                    TermGroup myGroup = termStore.CreateGroup("Custom", Guid.NewGuid());
                    TermSet myTermSet = myGroup.CreateTermSet("Colors", Guid.NewGuid(), 1033);
                    myTermSet.CreateTerm("Red", 1033, Guid.NewGuid());
                    myTermSet.CreateTerm("Orange", 1033, Guid.NewGuid());
                    myTermSet.CreateTerm("Yellow", 1033, Guid.NewGuid());
                    myTermSet.CreateTerm("Green", 1033, Guid.NewGuid());
                    myTermSet.CreateTerm("Blue", 1033, Guid.NewGuid());
                    myTermSet.CreateTerm("Purple", 1033, Guid.NewGuid());

                    cc.ExecuteQuery();
                }
            }
        }

Nach Erstellung der neuen Ausdrücke ruft die GetMMSTermsFromCloud()-Methode alle Ausdrucksgruppen, Ausdruckssätze und Ausdrücke aus dem verwalteten Metadatendienst ab. Ähnlich wie die CreateNecessaryMMSTermsToCloud()-Methode ruft der Code zuerst einen Verweis auf das TaxonomySession-Objekt und dann auf das TermStore-Objekt ab, bevor er die Informationen zum Ausdruck abruft und anzeigt.

private static void GetMMSTermsFromCloud(ClientContext cc)
        {
            //
            // Load up the taxonomy item names.
            //
            TaxonomySession taxonomySession = TaxonomySession.GetTaxonomySession(cc);
            TermStore termStore = taxonomySession.GetDefaultSiteCollectionTermStore();
            cc.Load(termStore,
                    store => store.Name,
                    store => store.Groups.Include(
                        group => group.Name,
                        group => group.TermSets.Include(
                            termSet => termSet.Name,
                            termSet => termSet.Terms.Include(
                                term => term.Name)
                        )
                    )
            );
            cc.ExecuteQuery();

            //
            // Writes the taxonomy item names.
            //
            if (taxonomySession != null)
            {
                if (termStore != null)
                {
                    foreach (TermGroup group in termStore.Groups)
                    {
                        Console.WriteLine("Group " + group.Name);

                        foreach (TermSet termSet in group.TermSets)
                        {
                            Console.WriteLine("TermSet " + termSet.Name);

                            foreach (Term term in termSet.Terms)
                            {
                                // Writes root-level terms only.
                                Console.WriteLine("Term " + term.Name);
                            }
                        }
                    }
                }
            }
        }

Die Ausdrucksdaten aus Ihrem verwalteten Metadatendienst werden in der Konsolenanwendung angezeigt, wie in der nachstehenden Abbildung zu sehen ist, und im Terminologiespeicher in Ihrem verwalteten Metadatendienst, wie die zweite Abbildung zeigt.

Screenshot der Konsolenanwendung mit Terminologiedatenausgabe.


Screenshot des SharePoint Admin Centers mit erweitertem Taxonomieterminologiespeicher.

Siehe auch