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

SharePoint クライアント側オブジェクト モデル (CSOM) により、ローカルで実行するコードや SharePoint 以外のサーバー上のコードから SharePoint オブジェクト モデルにアクセスできるようになります。The SharePoint client-side object model (CSOM) provides access to the SharePoint object model from code that is running locally or on a different server than SharePoint.

前提条件Prerequisites

作業の開始前に、次に示す事項について十分に理解しておいてください。Before you get started, make sure that you're familiar with the following:

また、Microsoft.SharePointOnline.CSOM NuGet パッケージ (バージョン 16.1.6906.1200 以降) の参照も必要になります。You also need to reference the Microsoft.SharePointOnline.CSOM NuGet package (version 16.1.6906.1200 or later).

CSOM のコード サンプルCSOM code example

次の例は、Microsoft.Online.SharePoint.TenantAdministration.Tenant オブジェクトの作成方法と、テーマのリストを返す GetAllTenantThemes メソッドの呼び出し方法を示しています。The following example shows how to create a Microsoft.Online.SharePoint.TenantAdministration.Tenant object and call the GetAllTenantThemes method to return a list of themes.

注意

  • コンテキスト オブジェクトの作成に使用する URL には、-admin サフィックスが含まれています。これは、TenantAdministration メソッドが管理サイトで動作するためです。The URL used to create the context object includes the -admin suffix because TenantAdministration methods work with the admin site.
  • Tenant コンストラクターTenant インスタンスを作成してから、そのインスタンスのメソッドを呼び出します。Create a Tenant instance with the Tenant constructor, and then call the methods on that instance.
  • 同じ方法を使用すると、その他のテーマ管理メソッドを呼び出すことができます。You can use the same approach to call other theme management methods.
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 definition example

theme 引数を受け取るメソッドの場合は、次に示すコードで SPOTheme クラスを定義します。このクラスは、カスタム テーマの作成に使用できます。For methods that take a theme argument, the following code defines an SPOTheme class that you can use to create custom themes.

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

テーマの適用Applying a theme

現時点では、プログラムによって特定のサイトにテーマを適用する CSOM API はサポートされていません。There's currently no supported CSOM API to programmatically apply a theme to a specific site. 個別のサイト コレクションへのカスタム テーマの適用に関する詳細については、「SharePoint サイト デザインとサイト スクリプトの概要」を参照してください。For information on applying custom themes to individual site collections see SharePoint site design and site script overview

Microsoft.Online.SharePoint.TenantAdministration.Tenant クラスのメソッドとプロパティMethods/properties of the Microsoft.Online.SharePoint.TenantAdministration.Tenant class

次に示す各メソッドを使用して、SharePoint テナント管理サイトで使用可能なテーマのセットをカスタマイズします。Use the following methods to customize the set of available themes for a SharePoint tenant administration site. 新しいカスタム テーマの追加、既存のテーマの更新、またはテーマの削除を実行できます。また、特定のテーマを取得することも、すべてのテーマを取得することもできます。You can add a new custom theme, update an existing theme, or delete a theme, and you can retrieve a specific theme or all themes. さらに、SharePoint に付属する既定のテーマを非表示にすることや復元することができます。You can also hide or restore the default themes that come with SharePoint.

AddTenantTheme パブリック メソッドAddTenantTheme public method

テナントにテーマを追加します。Add a theme to the tenant.

名前空間: Microsoft.Online.SharePoint.TenantAdministration.TenantNamespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
パラメーター: string name、string themeJsonParameters: string name, string themeJson
戻り値の型: ClientResultReturn type: ClientResult

DeleteTenantTheme パブリック メソッドDeleteTenantTheme public method

テナントからテーマを削除します。Delete a theme from the tenant.

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

GetAllTenantThemes パブリック メソッドGetAllTenantThemes public method

現在テナントで使用可能なテーマをすべて取得します。これには、追加済みのカスタム テーマも含まれます。Retrieve all the themes that are currently available in the tenant, including any custom themes that have been added. 既定のテーマは、HideDefaultThemes プロパティが false (既定値) の場合にのみ含まれます。Default themes are only included if the HideDefaultThemes property is false (the default value).

名前空間: Microsoft.Online.SharePoint.TenantAdministration.TenantNamespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
パラメーター: なしParameters: none
戻り値の型: ClientObjectListReturn type: ClientObjectList

GetTenantTheme パブリック メソッドGetTenantTheme public method

名前でテーマを取得します。Retrieve a theme by name.

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

HideDefaultThemes パブリック プロパティHideDefaultThemes public property

このプロパティは、テーマ ピッカー UI で既定のテーマが選択可能かどうかを示します。This property indicates whether the default themes are available in the theme picker UI. 既定の設定は false (既定のテーマが選択可能) です。ただし、カスタム テーマの定義後に、このプロパティを true に設定して、特定のテーマのみの使用を許可することもできます。The default setting is false (the default themes are available), but you might want to set this property to true after you define custom themes, to allow only specific themes to be used.

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

UpdateTenantTheme パブリック メソッドUpdateTenantTheme public method

既存のテーマの設定を更新します。Update the settings for an existing theme.

名前空間: Microsoft.Online.SharePoint.TenantAdministration.TenantNamespace: Microsoft.Online.SharePoint.TenantAdministration.Tenant
パラメーター: string name、string themeJsonParameters: string name, string themeJson
戻り値の型: ClientResultReturn type: ClientResult

Microsoft.Online.SharePoint.TenantManagement.Tenant クラスのメソッドMethods of the Microsoft.Online.SharePoint.TenantManagement.Tenant class

これらは、テナント レベルでテーマを管理するための代替的な API です。These are alternative APIs to manage your themes at the tenant level.

AddTenantTheme パブリック メソッドAddTenantTheme public method

テナントにテーマを追加します。Add a theme to the tenant.

名前空間: Microsoft.Online.SharePoint.TenantManagement.TenantNamespace: Microsoft.Online.SharePoint.TenantManagement.Tenant
パラメーター: string name、string themeJsonParameters: string name, string themeJson
戻り値の型: ClientResultReturn type: ClientResult

GetAllTenantThemes パブリック メソッドGetAllTenantThemes public method

現在テナントで使用可能なテーマをすべて取得します。これには、追加済みのカスタム テーマも含まれます。Retrieve all the themes that are currently available in the tenant, including any custom themes that have been added. 既定のテーマは、HideDefaultThemes プロパティが false (既定値) の場合にのみ含まれます。Default themes are only included if the HideDefaultThemes property is false (the default value).

名前空間: Microsoft.Online.SharePoint.TenantManagement.TenantNamespace: Microsoft.Online.SharePoint.TenantManagement.Tenant
パラメーター: なしParameters: none
戻り値の型: ClientObjectListReturn type: ClientObjectList

GetHideDefaultThemes パブリック メソッドGetHideDefaultThemes public method

テーマ ピッカー UI で既定のテーマを非表示にするかどうかについて、現在の設定を読み取ります。Read the current setting for whether to hide default themes in the theme picker UI.

名前空間: Microsoft.Online.SharePoint.TenantManagement.TenantNamespace: Microsoft.Online.SharePoint.TenantManagement.Tenant
パラメーター: なしParameters: none
戻り値の型: ClientResultReturn type: ClientResult

GetTenantTheme パブリック メソッドGetTenantTheme public method

名前でテーマを取得します。Retrieve a theme by name.

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

SetHideDefaultThemes パブリック メソッドSetHideDefaultThemes public method

テーマ ピッカー UI で既定のテーマを非表示にするかどうかを指定します。Specify whether to hide default themes in the theme picker UI.

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

UpdateTenantTheme パブリック メソッドUpdateTenantTheme public method

既存のテーマの設定を更新します。Update the settings for an existing theme.

名前空間: Microsoft.Online.SharePoint.TenantManagement.TenantNamespace: Microsoft.Online.SharePoint.TenantManagement.Tenant
パラメーター: string name、string themeJsonParameters: string name, string themeJson
戻り値の型: ClientResultReturn type: ClientResult

関連項目See also