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 プロパティのみが必要です。 従来のテーマ形式の場合は、 Name、 Palette、 IsInverted の各プロパティが必要です。
/// <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
型: ブール値