Compartilhar via


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:

Também tem de referenciar o pacote NuGet Microsoft.SharePointOnline.CSOM (versão 16.0.27011.12008 ou posterior).

Exemplo de código CSOM

O exemplo seguinte mostra como criar um objeto Microsoft.Online.SharePoint.TenantAdministration.Tenant e chamar o método GetAllGlobalThemes para devolver 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, apenas as Name propriedades e ColorPairs são necessárias. Para o formato de tema legado, 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.

AddTenantThemeAdvanced public method (Método público AddTenantThemeAdvanced)

Adicione um tema à organização.

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

Namespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parâmetros: nome da cadeia, themeJson de cadeia, bool shouldParseColorPair
Tipo de retorno: ClientResult<bool>

UpdateTenantThemeAdvanced public method (Método público UpdateTenantThemeAdvanced)

Atualize as configurações para um tema existente.

Namespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parâmetros: nome da cadeia, themeJson de cadeia, bool shouldParseColorPair
Tipo de retorno: ClientResult<bool>

Método público AddTenantTheme

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

Namespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parâmetros: nome da cadeia de caracteres, cadeia de caracteres themeJson
Tipo de retorno: 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 retorno: 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

GetAllGlobalThemes public method (Método público GetAllGlobalThemes)

Obtenha o conjunto completo de temas personalizados definidos ao nível do inquilino, incluindo temas criados através de ferramentas baseadas em comandos e criados na IU do Brand Center.

Observação

Para suportar uma imagem corporativa consistente e simplificar a governação, a gestão de temas está em transição para um modelo centralizado.

  • A área geográfica primária funcionará como a localização central para a criação e gestão de temas em toda a organização. Os temas criados aqui serão visíveis e aplicáveis em áreas geográficas de satélite.
  • Os Administradores Geográficos satélite poderão ver temas da área geográfica primária para os seus próprios sites através GetAllGlobalThemes do método . Os temas criados anteriormente na área geográfica de satélite permanecerão disponíveis para utilização. No entanto, a criação de novos temas em áreas geográficas por satélite deixará de ser suportada no futuro.

Namespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parâmetros: nenhum
Tipo de retorno: ClientObjectList<ThemeProperties>

Método público GetAllTenantThemes

Obtenha todos os temas personalizados que são criados no inquilino atual através de ferramentas baseadas em comandos.

Namespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parâmetros: nenhum
Tipo de retorno: ClientObjectList<ThemeProperties>

GetGlobalTheme public method (Método público GetGlobalTheme)

Obtenha um tema por nome, incluindo temas criados através de ferramentas baseadas em comandos e os criados na IU 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