Thèmes de site SharePoint : développement CSOM

Le modèle CSOM (Client-side Server Object Model) permet d’accéder au modèle d’objet SharePoint à partir d’un code exécuté localement ou sur un serveur autre que SharePoint.

Conditions préalables

Avant de commencer, assurez-vous que vous connaissez les éléments suivants :

Vous devez également référencer le package NuGet Microsoft.SharePointOnline.CSOM (version 16.1.6906.1200 ou ultérieure).

Exemple de code CSOM

L’exemple suivant montre comment créer un objet Microsoft.Online.SharePoint.TenantAdministration.Tenant et appeler la méthode GetAllTenantThemes afin de renvoyer une liste de thèmes.

Remarque

  • L’URL utilisée pour créer l’objet de contexte inclut le suffixe - admin, car les méthodes TenantAdministration fonctionnent avec le site administrateur.
  • Créez une instance Client avec le Constructeur de clients, puis appelez les méthodes sur cette instance.
  • Vous pouvez utiliser la même approche pour appeler d’autres méthodes de gestion de thème.
using System.Security;
using Microsoft.SharePoint.Client;
using Microsoft.Online.SharePoint.TenantAdministration;
using Microsoft.Online.SharePoint.TenantManagement;

...

ClientContext ctx = new ClientContext("https://mysite-admin.sharepoint.com/");
var pwd = "mypassword";
var passWord = new SecureString();
foreach (char c in pwd.ToCharArray()) passWord.AppendChar(c);
ctx.Credentials = new SharePointOnlineCredentials("admin@mydomain.com", passWord);
Tenant tenant = new Tenant(ctx);
ClientObjectList<ThemeProperties> themes = tenant.GetAllTenantThemes();

Exemple de définition de thème

Pour les méthodes demandant un argument de thème, le code suivant définit une classe SPOTheme que vous pouvez utiliser pour créer des thèmes personnalisés.

/// <summary> 
/// Properties defining a theme in SharePoint Online. 
/// </summary> 
public class SPOTheme 
{ 
    /// <summary> 
    /// Specifies the name of the theme. This must uniquely identify the theme. 
    /// </summary> 
    public string Name 
    { 
        get; private set; 
    } 
    /// <summary> 
    /// Specifies the palette of colors in the theme, as a dictionary of theme slot values. 
    /// </summary> 
    public IDictionary<String, String> Palette 
    { 
        get; private set; 
    } 
    /// <summary> 
    /// Specifies whether the theme is inverted, with a dark background and a light foreground. 
    /// </summary> 
    public bool IsInverted 
    { 
        get; private set; 
    } 
} 

Application d’un thème

Il n’existe actuellement aucune API CSOM prise en charge pour appliquer automatiquement un thème à un site spécifique. Pour plus d’informations sur l’application de thèmes personnalisés à des collections de sites individuelles, consultez Présentation des conceptions de site et des scripts de site SharePoint.

Méthodes et propriétés de la classe Microsoft.Online.SharePoint.TenantAdministration.Tenant

Utilisez les méthodes suivantes pour personnaliser le jeu de thèmes disponibles pour un site d’administration de client SharePoint. Vous pouvez ajouter un nouveau thème personnalisé, mettre à jour un thème existant ou supprimer un thème. Vous pouvez également récupérer un thème spécifique ou tous les thèmes. Vous pouvez aussi masquer ou restaurer des thèmes par défaut fournis avec SharePoint.

Méthode publique AddTenantTheme

Ajouter un thème au client.

Espace de noms : Microsoft.Online.SharePoint.TenantAdministration.Tenant
Paramètres : nom de la chaîne, thème JSON de la chaîne
Type de retour : ClientResult<bool>

Méthode publique DeleteTenantTheme

Supprimer un thème du client.

Espace de noms : Microsoft.Online.SharePoint.TenantAdministration.Tenant
Paramètres : nom de la chaîne
Type de valeur renvoyée : void

Méthode publique GetAllTenantThemes

Récupérer tous les thèmes actuellement disponibles dans le client, y compris les thèmes personnalisés qui ont été ajoutés. Les thèmes par défaut ne sont inclus que si la propriété HideDefaultThemes a la valeur false (valeur par défaut).

Espace de noms : Microsoft.Online.SharePoint.TenantAdministration.Tenant
Paramètres : aucun
Type de retour : ClientObjectList<ThemeProperties>

Méthode publique GetTenantTheme

Récupérer un thème par nom.

Espace de noms : Microsoft.Online.SharePoint.TenantAdministration.Tenant
Paramètres : nom de la chaîne
Type de valeur renvoyée : ThemeProperties

Propriété publique HideDefaultThemes

Cette propriété indique si les thèmes par défaut sont disponibles dans l’IU du sélecteur de thème. Le paramètre par défaut a la valeur false (les thèmes par défaut sont disponibles), mais vous pouvez définir cette propriété sur true après avoir défini des thèmes personnalisés afin de restreindre le choix à certains thèmes spécifiques.

Espace de noms : Microsoft.Online.SharePoint.TenantAdministration.Tenant
Type : booléen

Méthode publique UpdateTenantTheme

Mettre à jour les paramètres d’un thème existant.

Espace de noms : Microsoft.Online.SharePoint.TenantAdministration.Tenant
Paramètres : nom de la chaîne, thème JSON de la chaîne
Type de retour : ClientResult<bool>

Méthodes de la classe Microsoft.Online.SharePoint.TenantManagement.Tenant

Il existe d’autres API pour gérer vos thèmes au niveau du client.

Méthode publique AddTenantTheme

Ajouter un thème au client.

Namespace : Microsoft.Online.SharePoint.TenantManagement.Tenant
Paramètres : nom de la chaîne, thème JSON de la chaîne
Type de retour : ClientResult<bool>

Méthode publique GetAllTenantThemes

Récupérer tous les thèmes actuellement disponibles dans le client, y compris les thèmes personnalisés qui ont été ajoutés. Les thèmes par défaut ne sont inclus que si la propriété HideDefaultThemes a la valeur false (valeur par défaut).

Namespace : Microsoft.Online.SharePoint.TenantManagement.Tenant
Paramètres : aucun
Type de retour : ClientObjectList<ThemeProperties>

Méthode publique GetHideDefaultThemes

Lire le paramètre actuel pour afficher ou masquer les thèmes par défaut dans l’IU du sélecteur de thème.

Namespace : Microsoft.Online.SharePoint.TenantManagement.Tenant
Paramètres : aucun
Type de retour : ClientResult<bool>

Méthode publique GetTenantTheme

Récupérer un thème par nom.

Namespace : Microsoft.Online.SharePoint.TenantManagement.Tenant
Paramètres : nom de la chaîne
Type de valeur renvoyée : ThemeProperties

Méthode publique SetHideDefaultThemes

Indiquer si vous voulez afficher ou masquer les thèmes par défaut dans l’IU du sélecteur de thème.

Namespace : Microsoft.Online.SharePoint.TenantManagement.Tenant
Paramètres : booléen
Type de valeur renvoyée : void

Méthode publique UpdateTenantTheme

Mettre à jour les paramètres d’un thème existant.

Namespace : Microsoft.Online.SharePoint.TenantManagement.Tenant
Paramètres : nom de la chaîne, thème JSON de la chaîne
Type de retour : ClientResult<bool>

Voir aussi