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>