サイト デザインとサイト スクリプトの REST API

SharePoint REST インターフェイスを使い、サイト デザインとサイト スクリプトに対して基本的な作成、読み取り、更新、削除 (CRUD) の操作を実行できます。

SharePoint Online (および SharePoint 2016 以降のオンプレミス) REST サービスでは、OData $batch クエリ オプションを使って、サービスに対する複数の要求を 1 つの呼び出しに統合できます。 詳細とコード サンプルへのリンクについては、「REST API によりバッチ要求を発行する」を参照してください。

前提条件

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

REST コマンド

サイト デザインとサイト スクリプトを操作するため、次の REST コマンドを使用できます。

  • CreateSiteScript – 新しいサイト スクリプトを作成します。
  • GetSiteScripts – 既存のサイト スクリプトに関する情報の一覧を取得します。
  • GetSiteScriptFromWeb – 既存の SharePoint サイトからサイト スクリプト構文を作成します。
  • GetSiteScriptFromList – 既存の SharePoint リストからサイト スクリプト構文を作成します。
  • GetSiteScriptMetadata – 特定のサイト スクリプトに関する情報を取得します。
  • UpdateSiteScript – 新しい値を使用してサイト スクリプトを更新します。
  • DeleteSiteScript – サイト スクリプトを削除します。
  • CreateSiteDesign – サイト デザインを作成します。
  • ApplySiteDesign – サイト デザインを既存のサイト コレクションに適用します。
  • AddSiteDesignTaskToCurrentWeb – 現在の Web にサイト デザイン タスクを追加します。
  • GetSiteDesigns – 既存のサイト デザインに関する情報の一覧を取得します。
  • GetSiteDesignMetadata – 特定のサイト デザインに関する情報を取得します。
  • UpdateSiteDesign – 新しい値を使用してサイト デザインを更新します。
  • DeleteSiteDesign – サイト デザインを削除します。
  • GetSiteDesignRights – サイト デザインにアクセスできるプリンシパルの一覧を取得します。
  • GrantSiteDesignRights – 1 つ以上のプリンシパルのサイト デザインへのアクセスを許可します。
  • RevokeSiteDesignRights – 1 つ以上のプリンシパルのサイト デザインからのアクセスを取り消します。

REST 要求を送信するための関数を作成する

REST API を処理するために、REST 呼び出しを行うためのヘルパー関数を作成することをお勧めします。 次の RestRequest 関数は、url パラメーターで指定される REST メソッドを呼び出し、追加パラメーターを params に渡します。

function RestRequest(url,params) {
  var req = new XMLHttpRequest();
  req.onreadystatechange = function ()
  {
    if (req.readyState != 4) // Loaded
      return;
    console.log(req.responseText);
  };

  // Prepend web URL to url and remove duplicated slashes.
  var webBasedUrl = (_spPageContextInfo.webServerRelativeUrl + "//" + url).replace(/\/{2,}/,"/");
  req.open("POST",webBasedUrl,true);
  req.setRequestHeader("Content-Type", "application/json;charset=utf-8");
  req.setRequestHeader("ACCEPT", "application/json; odata.metadata=minimal");
  req.setRequestHeader("x-requestdigest", _spPageContextInfo.formDigestValue);
  req.setRequestHeader("ODATA-VERSION","4.0");
  req.send(params ? JSON.stringify(params) : void 0);
}

CreateSiteScript

新しいサイト スクリプトを作成します。

パラメーター

パラメーター 説明
タイトル サイト デザインの表示名。
コンテンツ スクリプトを記述する JSON 値。 詳細については、「JSON リファレンス」を参照してください。

次の例では、ユーザー設定のテーマを適用する新しいサイト スクリプトを作成します。

var site_script =
{
  "$schema": "schema.json",
  "actions": [
    {
      "verb": "applyTheme",
      "themeName": "Contoso Theme"
    }
  ],
  "bindata": { },
  "version": 1
};

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.CreateSiteScript(Title=@title)?@title='Contoso theme script'", site_script);

CreateSiteScript を呼び出した後に返される JSON の例を次に示します。 これには、新しいサイト スクリプトの ID が含まれています。

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptMetadata",
  "Content": null,
  "Description": null,
  "Id": "7647d3d6-1046-41fe-a798-4ff66b099d12",
  "Title": "Contoso customer list",
  "Version": 0
}

GetSiteScripts

既存のすべてのサイト スクリプトに関する情報のリストを取得します。

パラメーター

なし。

次の例では、すべてのサイト スクリプトに関する情報を取得します。

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GetSiteScripts");

GetSiteScripts を呼び出した後に返される JSON の例を次に示します。

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#Collection(Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptMetadata)",
  "value": [
    {
      "Content": null,
      "Description": null,
      "Id": "6dfedb96-c090-44e3-875a-1c38032715fc",
      "Title": "Customer orders",
      "Version": 1
    },
    {
      "Content": null,
      "Description": null,
      "Id": "07702c07-0485-426f-b710-4704241caad9",
      "Title": "Contoso theme",
      "Version": 1
    }
  ]
}

GetSiteScriptFromWeb

特定の SharePoint サイトのサイト スクリプト構文を取得します。

パラメーター

パラメーター 説明
webUrl サイト スクリプトを取得するサイトの HTTPS から始まる URL。
IncludeBranding (オプション) ブランド化が抽出される場合は True、それ以外の場合は False。
IncludedLists (オプション) 1 つ以上のリストの配列。 それぞれリストの URL によって識別されます。
IncludeRegionalSettings (オプション) 地域の設定が抽出される場合は True、それ以外の場合は False。
IncludeSiteExternalSharingCapability (オプション) 外部共有機能が抽出される場合は True、それ以外の場合は False。
IncludeTheme (オプション) カスタム テーマが抽出される場合は True、それ以外の場合は False。
IncludeLinksToExportedItems (オプション) ナビゲーション リンクが抽出される場合は True、それ以外の場合は False。 リストを参照するナビゲーション リンクをエクスポートするには、リストも要求に含める必要があります。

注:

この API を使用する場合、少なくとも 1 つの include パラメーターを指定する必要があります。それ以外の場合、要求は失敗します。

Contoso のサイト コレクションからサイト スクリプトの JSON オブジェクトを取得する例を次に示します。

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GetSiteScriptFromWeb", {
   "webUrl":"https://contoso.sharepoint.com/",
   "info":{
      "IncludeBranding":true,
      "IncludedLists":[
         "Lists/Contoso customer list"
      ],
      "IncludeRegionalSettings":true,
      "IncludeSiteExternalSharingCapability":true,
      "IncludeTheme":true,
      "IncludeLinksToExportedItems":true
   }
});

GetSiteScriptFromWeb を呼び出した後に返される JSON の例を次に示します。

注:

ここに示す応答オブジェクトは、読みやすさのために短縮されている可能性があります。

{
    "$schema": "https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json",
    "actions": [
      {
        "verb": "createSPList",
        "listName": "Contoso customer list",
        "templateType": 100,
        "subactions": [
          {
            "verb": "addSPView",
            "name": "All Items",
            "viewFields": [
              "LinkTitle"
            ],
            "query": "",
            "rowLimit": 30,
            "isPaged": true,
            "makeDefault": true,
            "addLink": "Contoso customer list"
          }
        ]
      },
      {
        "verb": "setSiteBranding",
        "navigationLayout": "Cascade",
        "headerLayout": "Standard",
        "headerBackground": "None",
        "showFooter": false
      },
      {
        "verb": "applyTheme",
        "themeJson": {
          "version": "2",
          "isInverted": false,
          "palette": {
            "neutralPrimaryAlt": "#ff4b4b4b",
            "themeLighterAlt": "#fff1faf0",
            "black": "#ff1d1d1d",
            "themeTertiary": "#ff55ae48",
            "primaryBackground": "#ffffffff"
          }
        }
      },
      {
        "verb": "setSiteExternalSharingCapability",
        "capability": "ExternalUserSharingOnly"
      },
      {
        "verb": "setRegionalSettings",
        "timeZone": 13,
        "locale": 1033,
        "sortOrder": 25,
        "hourFormat": "12"
      },
      {
        "verb": "addNavLink",
        "url": "/Lists/Contoso customer list",
        "displayName": "Contoso customer list",
        "isWebRelative": true,
        "navComponent": "QuickLaunch"
      }
    ]
  }

GetSiteScriptFromList

特定のリストのサイト スクリプト構文を取得します。

パラメーター

パラメーター 説明
listUrl サイト スクリプトを取得するリストの URL

Contoso の顧客一覧からサイト スクリプトの JSON オブジェクトを取得する例を次に示します。

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GetSiteScriptFromList", {listUrl: "https://consoso.sharepoint.com/sites/projectgo/Lists/Contoso%20customer%20list"});

GetSiteScriptFromList を呼び出した後に返される JSON の例を次に示します。

{"@odata.context":"https://constoso.sharepoint.com/sites/projectgo/_api/$metadata#Edm.String","value":"{
  "actions": [
    {
      "verb": "createSPList",
      "listName": "Contoso customer list",
      "templateType": 100,
      "subactions": [
        {
          "verb": "addSPView",
          "name": "All Items",
          "viewFields": [
            "LinkTitle"
          ],
          "query": "",
          "rowLimit": 30,
          "isPaged": true,
          "makeDefault": true
        }
      ]
    },
    {
      "verb": "addNavLink",
      "url": "Lists/Contoso customer list/AllItems.aspx",
      "displayName": "Contoso customer list",
      "isWebRelative": true
    }
  ]
}"}

GetSiteScriptMetadata

特定のサイト スクリプトに関する情報を取得します。 これは、スクリプトの JSON も返します。

パラメーター

パラメーター 説明
ID 情報を取得するサイト スクリプトの ID。
RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GetSiteScriptMetadata",
{id:"07702c07-0485-426f-b710-4704241caad9"});

GetSiteScriptMetadata を呼び出した後に返される JSON の例を次に示します。

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptMetadata",
  "Content": "{\r\n    \"$schema\": \"schema.json\",\r\n        \"actions\": [\r\n            {\r\n               \"verb\": \"applyTheme\",\r\n               \"themeName\": \"Custom Cyan\"\r\n            }\r\n        ],\r\n            \"bindata\": { },\r\n    \"version\": 1\r\n}",
  "Description": null,
  "Id": "07702c07-0485-426f-b710-4704241caad9",
  "Title": "Contoso theme",
  "Version": 1
}

UpdateSiteScript

新しい値でサイト スクリプトを更新します。 REST 呼び出しでは、すべてのパラメーターは、サイト スクリプト ID を除いて省略可能です。

パラメーター

パラメーター 説明
ID 更新するサイト スクリプトの ID。
タイトル (任意) サイト スクリプトの新しい表示名。
説明 (任意) サイト スクリプトの新しい説明。
バージョン (任意) サイト スクリプトの新しいバージョン番号。
コンテンツ (任意) スクリプト操作を定義する新しい JSON スクリプト。 詳細については、「サイト デザイン JSON スキーマ」を参照してください。

新しい JSON スクリプトと値で既存のサイト スクリプトを更新する例を次に示します。

var updated_site_script =
{
  "$schema": "schema.json",
  "actions": [
    {
      "verb": "applyTheme",
      "themeName": "Contoso Theme"
    }
  ],
  "bindata": { },
  "version": 2
};

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.UpdateSiteScript",
{updateInfo:{
  Id:"07702c07-0485-426f-b710-4704241caad9",
  Title:"New Contoso theme",
  Description:"Updated Contoso site script",
  Version: 2,
  Content: JSON.stringify(updated_site_script)}});

UpdateSiteScript を呼び出した後に返される JSON の例を次に示します。

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptMetadata",
  "Content": "{\"$schema\":\"schema.json\",\"actions\":[{\"verb\":\"applyTheme\",\"themeName\":\"Contoso Theme\"}],\"bindata\":{},\"version\":2}",
  "Description": "Updated Contoso site script",
  "Id": "07702c07-0485-426f-b710-4704241caad9",
  "Title": "New Contoso theme",
  "Version": 2
}

DeleteSiteScript

サイト スクリプトを削除します。

パラメーター

パラメーター 説明
ID 削除するサイト スクリプトの ID。

サイト スクリプトを削除する例を次に示します。

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.DeleteSiteScript",
{id:"07702c07-0485-426f-b710-4704241caad9"});

CreateSiteDesign

ユーザーが SharePoint の開始ページから新しいサイトを作成するときに、使用できる新しいサイト デザインを作成します。

Parameters

パラメーター 説明
ID 適用するサイト デザインの ID。
タイトル サイト デザインの表示名。
WebTemplate デザインの追加先となる基本テンプレートを表します。 チーム サイトのテンプレートには値 64 を、コミュニケーション サイトのテンプレートには値 68 を使用します。
SiteScriptIds 1 つ以上のスクリプトの配列。 それぞれ ID によって識別されます。 スクリプトは、リストの順に実行されます。
説明 (任意) サイト デザインの表示の説明。
PreviewImageUrl (任意) プレビュー イメージの URL。 何も指定されない場合、汎用のイメージが SharePoint で使用されます。
PreviewImageAltText (任意) アクセシビリティのプレビュー イメージ代替テキストの説明。
IsDefault (任意) サイト デザインが既定のサイト デザインとして適用される場合は true、既定として適用されない場合は false。 詳細については、「既定のサイト デザインのカスタマイズ」を参照してください。

新しいサイト デザインを作成する例を次に示します。

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.CreateSiteDesign",{
  info:{
    Title:"Contoso customer tracking",
    Description:"Creates customer list and applies standard theme",
    SiteScriptIds:["07702c07-0485-426f-b710-4704241caad9"],
    WebTemplate:"64",
    PreviewImageUrl: "https://contoso.sharepoint.com/SiteAssets/contoso-design.png",
    PreviewImageAltText: "Customer tracking site design theme"
    }
  });

CreateSiteDesign を呼び出した後に返される JSON の例を次に示します。 これには、新しいサイト デザインの ID が含まれています。

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignMetadata",
  "Description": "Creates customer list and applies standard theme",
  "PreviewImageAltText": "Customer tracking site design theme",
  "PreviewImageUrl": "https://contoso.sharepoint.com/SiteAssets/contoso-design.png",
  "SiteScriptIds": [ "07702c07-0485-426f-b710-4704241caad9" ],
  "Title": "Contoso customer tracking",
  "WebTemplate": "64",
  "Id": "614f9b28-3e85-4ec9-a961-5971ea086cca",
  "Version": 1
}

ApplySiteDesign

サイト デザインを既存のサイト コレクションに適用します。

パラメーター

パラメーター 説明
siteDesignId 適用するサイト デザインの ID。
webUrl サイト デザインを適用するサイト コレクションの URL。

サイト デザインを ProjectGo サイト コレクションに適用する例を次に示します。

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.ApplySiteDesign", {"siteDesignId": "614f9b28-3e85-4ec9-a961-5971ea086cca", "webUrl":"https://contoso.sharepoint.com/sites/projectgo"});

AddSiteDesignTaskToCurrentWeb

非同期で呼び出されるサイト デザイン タスクを現在の Web に追加します。

パラメーター

パラメーター 説明
siteDesignId 適用するサイト デザインの ID。

サイト デザイン タスクを ProjectGo サイト コレクションに適用する例を次に示します。

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.AddSiteDesignTaskToCurrentWeb", {siteDesignId: "614f9b28-3e85-4ec9-a961-5971ea086cca"});

GetSiteDesigns

既存のサイト デザインに関する情報のリストを取得します。

パラメーター

なし。

すべてのサイト デザインを取得する例を次に示します。

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GetSiteDesigns");

GetSiteDesigns を呼び出した後に返される JSON の例を次に示します。

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#Collection(Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignMetadata)",
  "value": [
    {
      "Description": "Tracks customer orders",
      "IsDefault": false,
      "PreviewImageAltText": null,
      "PreviewImageUrl": null,
      "SiteScriptIds": [ "6dfedb96-c090-44e3-875a-1c38032715fc" ],
      "Title": "customer orders",
      "WebTemplate": "64",
      "Id": "bbbd5740-ed97-461b-8b8e-e682f3fa167b",
      "Version": 1
    },
    {
      "Description": "Creates customer list and applies standard theme",
      "IsDefault": true,
      "PreviewImageAltText": "Customer tracking site design theme",
      "PreviewImageUrl": "https://contoso.sharepoint.com/SiteAssets/site_design.png",
      "SiteScriptIds": [ "07702c07-0485-426f-b710-4704241caad9" ],
      "Title": "Contoso customer tracking",
      "WebTemplate": "64",
      "Id": "614f9b28-3e85-4ec9-a961-5971ea086cca",
      "Version": 1
    }
  ]
}

GetSiteDesignMetadata

特定のサイト デザインに関する情報を取得します。

パラメーター

パラメーター 説明
ID 情報を取得するサイト デザインの ID。

特定のサイト デザインに関する情報を ID で取得する例を次に示します。

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GetSiteDesignMetadata",
{id:"614f9b28-3e85-4ec9-a961-5971ea086cca"});

GetSiteDesignMetadata を呼び出した後に返される JSON の例を次に示します。

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignMetadata",
  "Description": "Creates customer list and applies standard theme",
  "IsDefault": true,
  "PreviewImageAltText": "Customer tracking site design theme",
  "PreviewImageUrl": "https://contoso.sharepoint.com/SiteAssets/site_design.png",
  "SiteScriptIds": [ "07702c07-0485-426f-b710-4704241caad9" ],
  "Title": "Contoso customer tracking",
  "WebTemplate": "64",
  "Id": "614f9b28-3e85-4ec9-a961-5971ea086cca",
  "Version": 1
}

UpdateSiteDesign

新しい値でサイト デザインを更新します。 REST 呼び出しでは、すべてのパラメーターは、サイト スクリプト ID を除いて省略可能です。

注:

以前に IsDefault パラメーターを TRUE に設定し、そのままにする場合は、このパラメーターを再び渡す必要があります。(そうしないと FALSE にリセットされます)。

パラメーター

パラメーター 説明
ID 更新するサイト デザインの ID。
タイトル (任意) 更新したサイト デザインの新しい表示名。
WebTemplate (任意) サイト デザインを追加する新しいテンプレート。 チーム サイトのテンプレートには値 64 を、コミュニケーション サイトのテンプレートには値 68 を使用します。
SiteScripts (任意) 1 つ以上のスクリプトの新しい配列。 それぞれ ID によって識別されます。 スクリプトは、リストの順に実行されます。
説明 (任意) 更新したサイト デザインの新しい表示の説明。
PreviewImageUrl (任意) プレビュー イメージの新しい URL。
PreviewImageAltText (任意) アクセシビリティのプレビュー イメージの新しい代替テキストの説明。
IsDefault (任意) サイト デザインが既定のサイト デザインとして適用される場合は true、既定として適用されない場合は false。 詳細については、「既定のサイト デザインのカスタマイズ」を参照してください。

既存のサイト デザインのすべての値を更新する例を次に示します。

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.UpdateSiteDesign",
 {updateInfo:{
   Id:"614f9b28-3e85-4ec9-a961-5971ea086cca",
   Title:"Contoso customer site",
   Description:"Creates site with customer theme and list",
   SiteScriptIds:["6b2b79e4-5da3-4352-8565-42a896fabd57","2b997981-258b-4e1e-81ff-f6fbf7235a1f"],
   PreviewImageUrl:"https://contoso.sharepoint.com/SiteAssets/customer_site.png",
   PreviewImageAltText:"Customer site with list and theme",
   WebTemplate:"68",
   Version: 7,
   IsDefault: false}});

UpdateSiteDesign を呼び出した後に返される JSON の例を次に示します。

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignMetadata",
  "Description": "Creates site with customer theme and list",
  "IsDefault": false,
  "PreviewImageAltText": "Customer site with list and theme",
  "PreviewImageUrl": "https://contoso.sharepoint.com/SiteAssets/customer_site.png",
  "SiteScriptIds": [ "6b2b79e4-5da3-4352-8565-42a896fabd57", "2b997981-258b-4e1e-81ff-f6fbf7235a1f" ],
  "Title": "Contoso customer site",
  "WebTemplate": "68",
  "Id": "614f9b28-3e85-4ec9-a961-5971ea086cca",
  "Version": 7
}

DeleteSiteDesign

サイト デザインを削除します。

パラメーター

パラメーター 説明
ID 削除するサイト デザインの ID。

サイト デザインを削除する例を次に示します。

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.DeleteSiteDesign",
{id:"f9e76746-5076-4bd2-bad3-e611c488fa85"});

GetSiteDesignRights

サイト デザインにアクセスできるプリンシパルのリストを取得します。

パラメーター

パラメーター 説明
ID 権限の情報を取得するサイト デザインの ID。

特定のサイト デザインの表示権限を取得する例を次に示します。

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GetSiteDesignRights",
{id:"dc076f7b-6c15-4d76-8f85-948a17f5dd18"});

GetSiteDesignRights を呼び出した後に返される JSON の例を次に示します。

{
  "@odata.context": "https://contoso.sharepoint.com/_api/$metadata#SiteDesignPrincipals",
  "value": [
    {
      "@odata.type": "#Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignPrincipal",
      "@odata.id": "https://contoso.sharepoint.com/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignPrincipalfca62a9f-e43e-49a0-9139-6ae4df212859",
      "@odata.editLink": "Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignPrincipalfca62a9f-e43e-49a0-9139-6ae4df212859",
      "DisplayName": "Nestor Wilke",
      "PrincipalName": "i:0#.f|membership|nestorw@contoso.onmicrosoft.com",
      "Rights": 1
    },
    {
      "@odata.type": "#Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignPrincipal",
      "@odata.id": "https://contoso.sharepoint.com/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignPrincipalce4cd6f6-553b-4a55-9364-1d39125be0ef",
      "@odata.editLink": "Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteDesignPrincipalce4cd6f6-553b-4a55-9364-1d39125be0ef",
      "DisplayName": "Patti Fernandez",
      "PrincipalName": "i:0#.f|membership|pattif@contoso.onmicrosoft.com",
      "Rights": 1
    }
  ]
}

GrantSiteDesignRights

1 つ以上のプリンシパルのサイト デザインへのアクセスを許可します。

パラメーター

パラメーター 説明
ID 権限を付与するサイト デザインの ID。
principalNames 表示権限を付与する 1 つ以上のプリンシパルの配列。 プリンシパルは、"alias" または "alias@<domain name>.com" の形式の、ユーザーあるいはメールが有効なセキュリティ グループになります。
grantedRights 常に 1 に設定します。 これは、表示の権限を意味します。

Nestor と Patti (Contoso の架空のユーザー) にサイト デザインへの表示権限を付与する例を次に示します。

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.GrantSiteDesignRights", {
  "id": "dc076f7b-6c15-4d76-8f85-948a17f5dd18",
  "principalNames": [ "NestorW@contoso.onmicrosoft.com", "PattiF@contoso.onmicrosoft.com" ],
  "grantedRights": 1
});

RevokeSiteDesignRights

1 つ以上のプリンシパルのサイト デザインからのアクセスを取り消します。

パラメーター

パラメーター 説明
ID 権限を取り消すサイト デザインの ID。
principalNames 表示権限を取り消す 1 つ以上のプリンシパルの配列。 すべてのプリンシパルの権限がサイト デザインで取り消された場合、誰でもそのサイト デザインを閲覧できるようになります。

Patti (Contoso の架空のユーザー) のサイト デザインへの表示権限を取り消す例を次に示します。

RestRequest("/_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.RevokeSiteDesignRights",
{id:"5d4756e9-e1f5-42f7-afa7-5fa5aac170aa",
 principalNames:["PattiF@contoso.onmicrosoft.com"] });

関連項目