次の方法で共有


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

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

前提条件

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

また、 Microsoft.SharePointOnline.CSOM NuGet パッケージ (バージョン 16.0.27011.12008 以降) も参照する必要があります。

CSOM のコード サンプル

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

注:

  • コンテキスト オブジェクトの作成に使用する 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.GetAllGlobalThemes();

テーマの定義例

theme 引数を受け取るメソッドの場合は、次に示すコードで SPOTheme クラスを定義します。このクラスは、カスタム テーマの作成に使用できます。 新しいテーマ形式の場合は、 Name プロパティと ColorPairs プロパティのみが必要です。 従来のテーマ形式の場合は、 NamePaletteIsInverted の各プロパティが必要です。

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

テーマの適用

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

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

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

AddTenantThemeAdvanced パブリック メソッド

organizationにテーマを追加します。

複数地域環境では、プライマリ地域の管理者によって追加されたテーマが自動的に反映され、organization全体で使用できます。 この方法は、サテライト地域の管理者ではサポートされていません。

名前空間: Microsoft.Online.SharePoint.TenantAdministration.Tenant
パラメーター: 文字列名、文字列 themeJson、bool はParseColorPair である必要があります
戻り値の型: ClientResult<bool>

UpdateTenantThemeAdvanced パブリック メソッド

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

名前空間: Microsoft.Online.SharePoint.TenantAdministration.Tenant
パラメーター: 文字列名、文字列 themeJson、bool はParseColorPair である必要があります
戻り値の型: ClientResult<bool>

AddTenantTheme パブリック メソッド

organizationにテーマを追加します。 この方法は、サテライト地域の管理者ではサポートされていません。

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

UpdateTenantTheme パブリック メソッド

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

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

DeleteTenantTheme パブリック メソッド

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

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

GetAllGlobalThemes パブリック メソッド

コマンド ベースのツールで作成されたテーマやブランド センター UI で作成されたテーマなど、テナント レベルで定義されているカスタム テーマの完全なセットを取得します。

注:

一貫性のあるブランド化をサポートし、ガバナンスを簡素化するために、テーマ管理は一元化されたモデルに移行しています。

  • プライマリ geo は、organization全体のテーマの作成と管理の中心となる場所として機能します。 ここで作成されたテーマは、サテライト geo 全体で表示され、適用されます。
  • サテライト Geo 管理者 は、 GetAllGlobalThemes メソッドを使用して、プライマリ geo から独自のサイトにテーマを表示できます。 サテライト geo 内で以前に作成したテーマは引き続き使用できます。 ただし、 サテライト geo での新しいテーマの作成は、今後サポートされなくなります

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

GetAllTenantThemes パブリック メソッド

コマンド ベースのツールを使用して、現在のテナントで作成されたすべてのカスタム テーマを取得します。

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

GetGlobalTheme パブリック メソッド

コマンド ベースのツールで作成されたテーマやブランド センター UI で作成されたテーマなど、名前でテーマを取得します。

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

GetTenantTheme パブリック メソッド

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

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

HideDefaultThemes パブリック プロパティ

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

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

関連項目