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 :
- Utilisation du modèle objet client
- Tâches courantes de programmation dans le modèle objet client géré
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>