Temas de sitio de SharePoint: desarrollo de CSOM

El modelo de objetos de cliente de SharePoint (CSOM) proporciona acceso al modelo de objetos de SharePoint desde código que se ejecuta de manera local o en un servidor diferente de SharePoint.

Requisitos previos

Antes de empezar, asegúrese de que está familiarizado con lo siguiente:

También debe consultar al paquete NuGet Microsoft.SharePointOnline.CSOM (versión 16.1.6906.1200 o posterior).

Ejemplo de código de CSOM

En el siguiente ejemplo se muestra cómo crear un objeto Microsoft.Online.SharePoint.TenantAdministration.Tenant y llamar al método GetAllTenantThemes para obtener una lista de temas.

Nota:

  • La dirección URL que se usa para crear el objeto de contexto incluye el sufijo -admin porque los métodos TenantAdministration funcionan con el sitio de administración.
  • Cree una instancia Tenant con el constructor Tenant y luego llame a los métodos de esa instancia.
  • Puede usar el mismo enfoque para llamar a otros métodos de administración de temas.
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();

Ejemplo de definición de tema

Para los métodos que aceptan un argumento de tema, en el código siguiente se define una clase SPOTheme que se puede usar para crear temas personalizados.

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

Aplicar un tema

Actualmente no hay ninguna API CSOM compatible para aplicar un tema a un sitio específico mediante programación. Para obtener información sobre cómo aplicar temas personalizados a colecciones de sitios individuales vea Información general sobre scripts de sitio y diseños de sitio de SharePoint

Métodos y propiedades de la clase Microsoft.Online.SharePoint.TenantAdministration.Tenant

Use los métodos siguientes para personalizar el conjunto de los temas disponibles para un sitio de administración de inquilinos de SharePoint. Puede agregar un tema personalizado nuevo, actualizar un tema existente o eliminar un tema, y puede recuperar un tema específico o todos los temas. También puede ocultar o restaurar los temas predeterminados que se incluyen con SharePoint.

AddTenantTheme (método público)

Agregar un tema al espacio empresarial.

Espacio de nombres: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parámetros: string nombre, string temaJson
Tipo de valor devuelto: ClientResult<bool>

DeleteTenantTheme (método público)

Eliminar un tema del inquilino.

Espacio de nombres: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parámetros: string nombre
Tipo de valor devuelto: void

GetAllTenantThemes (método público)

Recuperar todos los temas que están actualmente disponibles en el inquilino, incluidos los temas personalizados que se han agregado. Solo se incluyen los temas predeterminados si la propiedad HideDefaultThemes es false (el valor predeterminado).

Espacio de nombres: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parámetros: ninguno
Tipo de valor devuelto: ClientObjectList<ThemeProperties>

GetTenantTheme (método público)

Recuperar un tema por nombre.

Espacio de nombres: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parámetros: string nombre
Tipo de valor devuelto: ThemeProperties

HideDefaultThemes (propiedad pública)

Esta propiedad indica si los temas predeterminados están disponibles en la interfaz de usuario del selector de temas. El valor predeterminado es false (los temas predeterminados están disponibles), pero es posible que quiera establecer esta propiedad en true después de definir temas personalizados, para permitir que solo se usen temas específicos.

Espacio de nombres: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Tipo: booleano

UpdateTenantTheme (método público)

Actualizar la configuración de un tema existente.

Espacio de nombres: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parámetros: string nombre, string temaJson
Tipo de valor devuelto: ClientResult<bool>

Métodos de la clase Microsoft.Online.SharePoint.TenantManagement.Tenant

Estas son API alternativas para administrar los temas en el nivel de espacio empresarial.

AddTenantTheme (método público)

Agregar un tema al espacio empresarial.

Espacio de nombres: Microsoft.Online.SharePoint.TenantManagement.Tenant
Parámetros: string nombre, string temaJson
Tipo de valor devuelto: ClientResult<bool>

GetAllTenantThemes (método público)

Recuperar todos los temas que están actualmente disponibles en el inquilino, incluidos los temas personalizados que se han agregado. Solo se incluyen los temas predeterminados si la propiedad HideDefaultThemes es false (el valor predeterminado).

Espacio de nombres: Microsoft.Online.SharePoint.TenantManagement.Tenant
Parámetros: ninguno
Tipo de valor devuelto: ClientObjectList<ThemeProperties>

GetHideDefaultThemes(método público)

Leer el valor actual para determinar si se ocultan los temas predeterminados en la interfaz de usuario del selector de temas.

Espacio de nombres: Microsoft.Online.SharePoint.TenantManagement.Tenant
Parámetros: ninguno
Tipo de valor devuelto: ClientResult<bool>

GetTenantTheme (método público)

Recuperar un tema por nombre.

Espacio de nombres: Microsoft.Online.SharePoint.TenantManagement.Tenant
Parámetros: string nombre
Tipo de valor devuelto: ThemeProperties

SetHideDefaultThemes(método público)

Especificar si se ocultan los temas predeterminados en la interfaz de usuario del selector de temas.

Espacio de nombres: Microsoft.Online.SharePoint.TenantManagement.Tenant
Parámetros: booleano
Tipo de valor devuelto: void

UpdateTenantTheme (método público)

Actualizar la configuración de un tema existente.

Espacio de nombres: Microsoft.Online.SharePoint.TenantManagement.Tenant
Parámetros: string nombre, string temaJson
Tipo de valor devuelto: ClientResult<bool>

Vea también