クラシック機能では、SharePointのサイトコレクションをREST APIで作成することができませんでした。モダン機能では「コミュニケーションサイト」をREST APIで作ることができましたのでメモしておきます。Microsoft Docsでも公開されています。
同様に「Office 365グループに接続されたチーム サイト」も作成できました。
リクエスト
- URL
https://{テナント}.sharepoint.com/_api/sitepages/communicationsite/create
- メソッド
POST
- ヘッダ
accept:application/json;odata=verbose
content-type:application/json;odata=verbose
- 本文
{
"request":{
"__metadata":{
"type":"SP.Publishing.CommunicationSiteCreationRequest"
},
"AllowFileSharingForGuestUsers":"false",
"Description":"Description",
"SiteDesignId":"f6cc5403-0d63-442e-96c0-285923709ffc",
"Title":"{サイト名}",
"Url":"{サイトURL}",
"lcid":"1041"
}
}
※ 本文中のlcidは今のところ設定しても効果がありません。地域と既定の言語は英語になります。第2言語で全言語が選択された状態になるようなので、見た目はちゃんと日本語でした。
※ 標準デザインのSiteDesignIdはMicrosoft Docsに掲載されています。
Flowへの組み込み
「SharePoint に HTTP要求を送信します」というアクションを組み込むことでFlow内からもコミュニケーションサイト作成を実行できます。
以上、参考になれば幸いです。