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:
- Usando o Modelo de Objeto de Cliente
- Tarefas de Programação Comuns no Modelo de Objeto de Cliente Gerenciado
Você também precisa fazer referência ao pacote NuGet Microsoft.SharePointOnline.CSOM (versão 16.1.6906.1200 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 GetAllTenantThemes 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.GetAllTenantThemes();
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.
/// <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;
}
}
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 AddTenantTheme
Adicione um tema ao locatário.
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
Método público GetAllTenantThemes
Recupere todos os temas atualmente disponíveis no locatário, incluindo os temas personalizados que foram adicionados. Temas padrão serão incluídos apenas se a propriedade HideDefaultThemes for false (o valor padrão).
Namespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
Parâmetros: nenhum
Tipo de retorno: ClientObjectList<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
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étodos da classe Microsoft.Online.SharePoint.TenantManagement.Tenant
Essas são APIs alternativas para gerenciar os temas no nível de locatário.
Método público AddTenantTheme
Adicione um tema ao locatário.
Namespace: Microsoft.Online.SharePoint.TenantManagement.Tenant
Parâmetros: nome da cadeia de caracteres, cadeia de caracteres themeJson
Tipo de retorno: ClientResult<bool>
Método público GetAllTenantThemes
Recupere todos os temas atualmente disponíveis no locatário, incluindo os temas personalizados que foram adicionados. Temas padrão serão incluídos apenas se a propriedade HideDefaultThemes for false (o valor padrão).
Namespace: Microsoft.Online.SharePoint.TenantManagement.Tenant
Parâmetros: nenhum
Tipo de retorno: ClientObjectList<ThemeProperties>
Método público GetHideDefaultThemes
Leia a configuração atual para ocultar os temas padrão na interface do usuário do seletor de temas.
Namespace: Microsoft.Online.SharePoint.TenantManagement.Tenant
Parâmetros: nenhum
Tipo de retorno: ClientResult<bool>
Método público GetTenantTheme
Recupere um tema por nome.
Namespace: Microsoft.Online.SharePoint.TenantManagement.Tenant
Parâmetros: nome da cadeia de caracteres
Tipo de retorno: ThemeProperties
Método público SetHideDefaultThemes
Especifique se deseja ocultar temas padrão na interface do usuário do seletor de temas.
Namespace: Microsoft.Online.SharePoint.TenantManagement.Tenant
Parâmetros: booliano
Tipo de retorno: nulo
Método público UpdateTenantTheme
Atualize as configurações para um tema existente.
Namespace: Microsoft.Online.SharePoint.TenantManagement.Tenant
Parâmetros: nome da cadeia de caracteres, cadeia de caracteres themeJson
Tipo de retorno: ClientResult<bool>