Поделиться через


Настройка темы сайта SharePoint: разработка с использованием CSOM

Клиентская объектная модель (CSOM) SharePoint предоставляет доступ к объектной модели SharePoint из кода, выполняемого локально или на сервере, отличном от SharePoint.

Предварительные требования

Прежде чем приступить к работе, убедитесь, что вы знакомы с понятиями, описанными в следующих статьях:

Вам также потребуется добавить ссылку на пакет NuGet Microsoft.SharePointOnline.CSOM (версия 16.1.6906.1200 или более поздняя).

Пример кода CSOM

Ниже показано, как создать объект Microsoft.Online.SharePoint.TenantAdministration.Tenant и вызвать метод GetAllTenantThemes, чтобы возвратить список тем.

Примечание.

  • URL-адрес, используемый для создания объекта контекста, включает суффикс -admin, так как методы TenantAdministration работают с сайтом администрирования.
  • Создайте экземпляр объекта Tenant (Клиент) с помощью конструктора клиентов, а затем вызовите необходимые методы в этом экземпляре.
  • Вы можете использовать тот же подход для вызова других методов управления темами.
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();

Пример определения темы

Для методов, принимающих тему в качестве аргумента, приведенный ниже код определяет класс SPOTheme, используемый для создания настраиваемых тем.

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

Применение темы

На данный момент нет поддерживаемых API CSOM для программного применения темы к определенному сайту. Сведения о применении пользовательских тем к отдельным семействам веб-сайтов см. в статье Обзор макетов и скриптов сайтов SharePoint

Методы и свойства класса Microsoft.Online.SharePoint.TenantAdministration.Tenant

С помощью приведенных ниже методов можно настраивать доступные темы для сайта администрирования клиента SharePoint. Вы можете добавить новую настраиваемую тему, обновить или удалить существующую либо получить определенную тему или все темы. Вы также можете скрывать и восстанавливать стандартные темы, входящие в состав SharePoint.

Общедоступный метод AddTenantTheme

Добавляет тему к клиенту.

Пространство имен: Microsoft.Online.SharePoint.TenantAdministration.Tenant.
Параметры: string name, string themeJson.
Тип возвращаемого значения: Bool ClientResult<>

Общедоступный метод DeleteTenantTheme

Удаляет тему из клиента.

Пространство имен: Microsoft.Online.SharePoint.TenantAdministration.Tenant.
Параметры: string name.
Тип возвращаемых данных: void.

Общедоступный метод GetAllTenantThemes

Получает все темы, доступные в клиенте на данный момент, в том числе все добавленные настраиваемые темы. Стандартные темы включаются, только если свойству HideDefaultThemes задано значение false (оно используется по умолчанию).

Пространство имен: Microsoft.Online.SharePoint.TenantAdministration.Tenant.
Параметры: нет.
Тип возвращаемого значения: Тема ClientObjectListProperties<>

Общедоступный метод GetTenantTheme

Получает тему по имени.

Пространство имен: Microsoft.Online.SharePoint.TenantAdministration.Tenant.
Параметры: string name.
Тип возвращаемых данных: ThemeProperties.

Общедоступное свойство HideDefaultThemes

Это свойство указывает, доступны ли стандартные темы в пользовательском интерфейсе выбора тем. По умолчанию задано значение false (стандартные темы доступны), но вы можете задать для этого свойства значение true после определения настраиваемых тем, чтобы разрешить использование только определенных тем.

Пространство имен: Microsoft.Online.SharePoint.TenantAdministration.Tenant.
Тип: Boolean.

Общедоступный метод UpdateTenantTheme

Обновляет параметры имеющейся темы.

Пространство имен: Microsoft.Online.SharePoint.TenantAdministration.Tenant.
Параметры: string name, string themeJson.
Тип возвращаемого значения: Bool ClientResult<>

Методы класса Microsoft.Online.SharePoint.TenantManagement.Tenant

Это альтернативные API для управления темами на уровне клиента.

Общедоступный метод AddTenantTheme

Добавляет тему к клиенту.

Пространство имен: Microsoft.Online.SharePoint.TenantManagement.Tenant.
Параметры: string name, string themeJson.
Тип возвращаемого значения: Bool ClientResult<>

Общедоступный метод GetAllTenantThemes

Получает все темы, доступные в клиенте на данный момент, в том числе все добавленные настраиваемые темы. Стандартные темы включаются, только если свойству HideDefaultThemes задано значение false (оно используется по умолчанию).

Пространство имен: Microsoft.Online.SharePoint.TenantManagement.Tenant.
Параметры: нет.
Тип возвращаемого значения: Тема ClientObjectListProperties<>

Общедоступный метод GetHideDefaultThemes

Считывает текущее значение параметра для скрытия стандартных тем в пользовательском интерфейсе выбора темы.

Пространство имен: Microsoft.Online.SharePoint.TenantManagement.Tenant.
Параметры: нет.
Тип возвращаемого значения: Bool ClientResult<>

Общедоступный метод GetTenantTheme

Получает тему по имени.

Пространство имен: Microsoft.Online.SharePoint.TenantManagement.Tenant.
Параметры: string name.
Тип возвращаемых данных: ThemeProperties.

Общедоступный метод SetHideDefaultThemes

Указывает, следует ли скрывать стандартные темы в пользовательском интерфейсе выбора тем.

Пространство имен: Microsoft.Online.SharePoint.TenantManagement.Tenant.
Параметры: Boolean.
Тип возвращаемых данных: void.

Общедоступный метод UpdateTenantTheme

Обновляет параметры имеющейся темы.

Пространство имен: Microsoft.Online.SharePoint.TenantManagement.Tenant.
Параметры: string name, string themeJson.
Тип возвращаемого значения: Bool ClientResult<>

См. также