Partager via


Complément SharePoint : exemple d’opérations de taxonomie

L’application de console Core.MMS exemple vous montre comment interagir avec le service de métadonnées gérée pour SharePoint pour créer et récupérer des termes, ensembles de termes et groupes. Cet exemple est également exécuté dans un complément fournisseur hébergé, par exemple, une application web ASP.NET MVC.

Utilisez cette solution si vous voulez migrer les termes entre les batteries de serveurs SharePoint ou afficher des termes dans votre complément personnalisé.

Avant de commencer

Pour commencer, téléchargez le complément exemple Core.MMS à partir du projet Pratiques et modèles Office 365 Developer sur GitHub.

Remarque

Le code dans cet article est fourni tel quel, sans garantie d’aucune sorte, expresse ou implicite, y compris mais sans s’y limiter, aucune garantie implicite d’adéquation à un usage particulier, à une qualité marchande ou une absence de contrefaçon.

Avant d’exécuter ce complément, vous avez besoin de :

  • L’URL de votre site SharePoint.
  • L’autorisation d’accéder au stockage de termes dans le service de métadonnées gérées.

La figure suivante illustre le centre d’administration Office 365 où ces autorisations sont assignées.

Capture d’écran du Centre d’administration SharePoint avec le magasin de termes, la zone de recherche du magasin de termes de taxonomie et les zones d’administrateurs du magasin de termes mis en surbrillance.

Pour attribuer des autorisations au magasin de termes :

  1. Dans le Centre d’administration Office 365, choisissez Magasin de termes.

  2. Dans MAGASIN DE TERMES DE TAXONOMIE, sélectionnez le jeu de termes auquel vous voulez attribuer un administrateur.

  3. Dans Administrateurs de magasin de termes, entrez le compte d’organisation nécessitant des autorisations d’administrateur de magasin de termes.

Utiliser le complément exemple Core.MMS

Lorsque vous démarrez le complément, une application console s’affiche, semblable à celle dans l’illustration suivante. Vous êtes invité à entrer l’URL de votre site SharePoint ou SharePoint Online et vos informations d’identification.

Capture d’écran de la console d’exemple de complément Core.MMS, demandant la saisie du nom d’utilisateur et du mot de passe SharePoint.

Quand vous avez fourni l’URL SharePoint et vos informations d’identification, l’authentification de l’utilisateur se produit.

Le code suivant effectue l’authentification de l’utilisateur dans SharePoint Online.

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

Le code suivant effectue l’authentification de l’utilisateur dans SharePoint Online dédié ou dans une batterie de serveurs SharePoint en local.

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

La méthode CreateNecessaryMMSTermsToCloud crée un groupe, un ensemble de termes et plusieurs termes dans le service de métadonnées gérées. Le code obtient d’abord une référence à l’objet TaxonomySession , puis à l’objet TermStore , avant de créer les termes TermGroup, TermSet et nouveaux personnalisés.

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();
                }
            }
        }

Après avoir créé les nouvelles termes la méthode GetMMSTermsFromCloud() récupère tous les groupes de termes, ensembles de termes et termes à partir du service de métadonnées gérées. Similaire à la méthodeCreateNecessaryMMSTermsToCloud(), le code obtient tout d’abord une référence à l’objet TaxonomySession, puis l’objet TermStore avant de récupérer et afficher les informations sur les termes.

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);
                            }
                        }
                    }
                }
            }
        }

Vous verrez vos données de terme de votre service de métadonnées gérées dans l’application console, comme montré dans l’illustration suivante, et dans le magasin de termes dans votre service de métadonnées gérées, comme illustré dans la deuxième figure.

Capture d’écran de l’application console avec la sortie des données de termes.


Capture d’écran du Centre d’administration SharePoint avec le magasin de termes de taxonomie développé.

Voir aussi