Temas de site do SharePoint: desenvolvimento de CSOM

O CSOM (modelo de objeto do lado do cliente) do SharePoint fornece acesso ao modelo de objeto do SharePoint por meio do código que está sendo executado localmente ou em um servidor diferente do SharePoint.

Pré-requisitos

Antes de começar, verifique se está familiarizado com o seguinte:

Você também precisa referenciar o pacote NuGet Microsoft.SharePointOnline.CSOM (versão 16.0.27011.12008 ou posterior).

Exemplo de código CSOM

O exemplo a seguir mostra como criar um objeto Microsoft.Online.SharePoint.TenantAdministration.Tenant e chamar o método GetAllGlobalThemes para retornar uma lista de temas.

Observação

  • A URL usada para criar o objeto de contexto inclui o sufixo -admin, pois os métodos TenantAdministration funcionam com o site de administração.
  • Crie uma instância de Tenant com o Construtor de locatário e chame os métodos nessa instância.
  • Você pode usar a mesma abordagem para chamar outros métodos de gerenciamento 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.GetAllGlobalThemes();

Exemplo de definição de tema

Para os métodos que usam um argumento de tema, o código a seguir define uma classe SPOTheme que você pode usar para criar temas personalizados. Para o novo formato de tema, somente as propriedades and NameColorPairs são necessárias. Para o formato de tema herdado, as Namepropriedades , Palettee IsInverted são necessárias.

/// <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 the color pairs setting of the theme.
    /// </summary> 
    public IDictionary<string, IList<Dictionary<string, string>>> ColorPairs
    { 
        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; 
    } 
} 

Como aplicar um tema

Atualmente, não existe uma CSOM API com suporte que aplique de forma programática um tema a um site específico. Para obter informações sobre como aplicar temas personalizados a conjuntos de sites individuais, confira Visão geral sobre design e script de sites do SharePoint

Métodos/propriedades da classe Microsoft.Online.SharePoint.TenantAdministration.Tenant

Use os métodos a seguir para personalizar o conjunto de temas disponíveis para um site de administração do locatário do SharePoint. Você pode adicionar um novo tema personalizado, atualizar um tema existente ou excluir um tema e pode recuperar um tema específico ou todos os temas. Você também pode ocultar ou restaurar os temas padrão que vêm com o SharePoint.

Método público AddTenantThemeAdvanced

Adicione um tema à organização.

Em ambientes multigeográficos, os temas adicionados por um administrador na geografia principal são propagados automaticamente e disponibilizados em toda a organização. Este método não é suportado por administradores em geografias de satélite.

Namespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parâmetros: string name, string themeJson, bool shouldParseColorPair
Tipo de devolução: ClientResult<bool>

UpdateTenantThemeMétodo público avançado

Atualize as configurações para um tema existente.

Namespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parâmetros: string name, string themeJson, bool shouldParseColorPair
Tipo de devolução: ClientResult<bool>

Método público AddTenantTheme

Adicione um tema à organização. Este método não é suportado por administradores em geografias de satélite.

Namespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parâmetros: nome da cadeia de caracteres, cadeia de caracteres themeJson
Tipo de devolução: ClientResult<bool>

Método público UpdateTenantTheme

Atualize as configurações para um tema existente.

Namespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parâmetros: nome da cadeia de caracteres, cadeia de caracteres themeJson
Tipo de devolução: ClientResult<bool>

Método público DeleteTenantTheme

Exclua um tema do locatário.

Namespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parâmetros: nome da cadeia de caracteres
Tipo de retorno: nulo

Método público GetAllGlobalThemes

Recupere o conjunto completo de temas personalizados definidos no nível do locatário, incluindo temas criados por meio de ferramentas baseadas em comandos e aqueles criados na interface do usuário do Brand Center.

Observação

Para dar suporte a uma identidade visual consistente e simplificar a governança, o gerenciamento de temas está em transição para um modelo centralizado.

  • A área geográfica principal atuará como o local central para a criação e o gerenciamento de temas em toda a organização. Os temas criados aqui serão visíveis e aplicáveis em todas as áreas geográficas de satélite.
  • Os Administradores Geográficos satélites poderão visualizar temas da área geográfica primária para seus próprios sites usando GetAllGlobalThemes o método. Os temas criados anteriormente nas áreas geográficas satélites permanecerão disponíveis para uso. No entanto, a criação de novos temas em áreas geográficas satélites não terá mais suporte no futuro.

Namespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parâmetros: nenhum
Tipo de devolução: ClientObjectList<ThemeProperties>

Método público GetAllTenantThemes

Recupere todos os temas personalizados criados no locatário atual por meio de ferramentas baseadas em comando.

Namespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parâmetros: nenhum
Tipo de devolução: ClientObjectList<ThemeProperties>

Método público GetGlobalTheme

Recupere um tema por nome, incluindo temas criados por meio de ferramentas baseadas em comando e aqueles criados na interface do usuário do Brand Center.

Namespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parâmetros: nome da cadeia de caracteres
Tipo de retorno: ThemeProperties

Método público GetTenantTheme

Recupere um tema por nome.

Namespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parâmetros: nome da cadeia de caracteres
Tipo de retorno: ThemeProperties

Propriedade pública HideDefaultThemes

Essa propriedade indica se os temas padrão estão disponíveis na interface do usuário do seletor de temas. A configuração padrão é false (os temas padrão estão disponíveis), mas convém definir essa propriedade como true após definir temas personalizados, para permitir que apenas temas específicos sejam usados.

Namespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Tipo: booliano

Confira também