SharePoint サイトのテーマ: CSOM 開発

SharePoint クライアント側オブジェクト モデル (CSOM) により、ローカルで実行するコードや SharePoint 以外のサーバー上のコードから SharePoint オブジェクト モデルにアクセスできるようになります。

前提条件

作業の開始前に、次に示す事項について十分に理解しておいてください。

また、Microsoft.SharePointOnline.CSOM NuGet パッケージ (バージョン 16.1.6906.1200 以降) の参照も必要になります。

CSOM のコード サンプル

次の例は、Microsoft.Online.SharePoint.TenantAdministration.Tenant オブジェクトの作成方法と、テーマのリストを返す GetAllTenantThemes メソッドの呼び出し方法を示しています。

注:

  • コンテキスト オブジェクトの作成に使用する URL には、-admin サフィックスが含まれています。これは、TenantAdministration メソッドが管理サイトで動作するためです。
  • Tenant コンストラクター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();

テーマの定義例

theme 引数を受け取るメソッドの場合は、次に示すコードで 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; 
    } 
} 

テーマの適用

現時点では、プログラムによって特定のサイトにテーマを適用する CSOM API はサポートされていません。 個別のサイト コレクションへのカスタム テーマの適用に関する詳細については、「SharePoint サイト デザインとサイト スクリプトの概要」を参照してください。

Microsoft.Online.SharePoint.TenantAdministration.Tenant クラスのメソッドとプロパティ

次に示す各メソッドを使用して、SharePoint テナント管理サイトで使用可能なテーマのセットをカスタマイズします。 新しいカスタム テーマの追加、既存のテーマの更新、またはテーマの削除を実行できます。また、特定のテーマを取得することも、すべてのテーマを取得することもできます。 さらに、SharePoint に付属する既定のテーマを非表示にすることや復元することができます。

AddTenantTheme パブリック メソッド

テナントにテーマを追加します。

名前空間: Microsoft.Online.SharePoint.TenantAdministration.Tenant
パラメーター: string name、string themeJson
戻り値の型: ClientResult<bool>

DeleteTenantTheme パブリック メソッド

テナントからテーマを削除します。

名前空間: Microsoft.Online.SharePoint.TenantAdministration.Tenant
パラメーター: string name
戻り値の型: void

GetAllTenantThemes パブリック メソッド

現在テナントで使用可能なテーマをすべて取得します。これには、追加済みのカスタム テーマも含まれます。 既定のテーマは、HideDefaultThemes プロパティが false (既定値) の場合にのみ含まれます。

名前空間: Microsoft.Online.SharePoint.TenantAdministration.Tenant
パラメーター: なし
戻り値の型: ClientObjectList<ThemeProperties>

GetTenantTheme パブリック メソッド

名前でテーマを取得します。

名前空間: Microsoft.Online.SharePoint.TenantAdministration.Tenant
パラメーター: string name
戻り値の型: ThemeProperties

HideDefaultThemes パブリック プロパティ

このプロパティは、テーマ ピッカー UI で既定のテーマが選択可能かどうかを示します。 既定の設定は false (既定のテーマが選択可能) です。ただし、カスタム テーマの定義後に、このプロパティを true に設定して、特定のテーマのみの使用を許可することもできます。

名前空間: Microsoft.Online.SharePoint.TenantAdministration.Tenant
型: ブール値

UpdateTenantTheme パブリック メソッド

既存のテーマの設定を更新します。

名前空間: Microsoft.Online.SharePoint.TenantAdministration.Tenant
パラメーター: string name、string themeJson
戻り値の型: ClientResult<bool>

Microsoft.Online.SharePoint.TenantManagement.Tenant クラスのメソッド

これらは、テナント レベルでテーマを管理するための代替的な API です。

AddTenantTheme パブリック メソッド

テナントにテーマを追加します。

名前空間: Microsoft.Online.SharePoint.TenantManagement.Tenant
パラメーター: string name、string themeJson
戻り値の型: ClientResult<bool>

GetAllTenantThemes パブリック メソッド

現在テナントで使用可能なテーマをすべて取得します。これには、追加済みのカスタム テーマも含まれます。 既定のテーマは、HideDefaultThemes プロパティが false (既定値) の場合にのみ含まれます。

名前空間: Microsoft.Online.SharePoint.TenantManagement.Tenant
パラメーター: なし
戻り値の型: ClientObjectList<ThemeProperties>

GetHideDefaultThemes パブリック メソッド

テーマ ピッカー UI で既定のテーマを非表示にするかどうかについて、現在の設定を読み取ります。

名前空間: Microsoft.Online.SharePoint.TenantManagement.Tenant
パラメーター: なし
戻り値の型: ClientResult<bool>

GetTenantTheme パブリック メソッド

名前でテーマを取得します。

名前空間: Microsoft.Online.SharePoint.TenantManagement.Tenant
パラメーター: string name
戻り値の型: ThemeProperties

SetHideDefaultThemes パブリック メソッド

テーマ ピッカー UI で既定のテーマを非表示にするかどうかを指定します。

名前空間: Microsoft.Online.SharePoint.TenantManagement.Tenant
パラメーター: ブール値
戻り値の型: void

UpdateTenantTheme パブリック メソッド

既存のテーマの設定を更新します。

名前空間: Microsoft.Online.SharePoint.TenantManagement.Tenant
パラメーター: string name、string themeJson
戻り値の型: ClientResult<bool>

関連項目