【SharePoint Online】リストを作成/削除 するバッチ処理ツールを作成する【C#】

2019年7月27日

この記事を書くのは3回目です。
なぜなら当Webサイトは2回リビルドしてるから。
ほんと泣きそうです。

運用上、最近はSharePoint Onlineへの引越し作業が頻繁に案件として上がってきております。
その引越案件では、リストを数百単位で作成するなんてこともザラにあります。
それを毎度手で作成するというのは本当にしんどいので、今回リストの作成及び削除するためのツールを作成してみました。
バッチ処理できるように組んであげればCSVなどから一気に作成できます。

解説・注意する点

[CreateListAsync]はリスト作成、 [DeleteListAsync]はリスト削除の関数です。
[DeleteListAsync]は特に難しいことは無いので割愛するとして、
まずは[CreateListAsync]の引数に注意してください。

・listName
 ➝リストの表示名になります。これは既存のリストと重複しても特に問題ありません。

・targetListTemplate
 ➝リストに適用するテンプレート表示名を指定します。リストにカスタムテンプレートを利用する場合、
  この様に指定して置けると非常に便利です。

・listUrl
 ➝リストのURL名になります。 エンコードされてURLが冗長になってしまいますので リストのURL名には日本語ではなく英語を指定する習慣をつけたほうが良いと思います。

・Description
 ➝リストの説明に利用します。既定ではnullにしています。


次に注意点というかちょっと苦戦した点ですが、[listCreationInfo.Title]についてです。
ここにはサイトのURL+サイト名が自動的に設定されるような動きでした。
そのため、リストを作成するタイミングでは内部名を指定してあげる➝リストが作成されたらリネーム処理で表示名を設定する。
というような処理を書かなければならず、なんか2度手間のような記述に・・・・
直接指定できるよ~という情報があればぜひ教えてください。

終わりに

今回はシンプルなコードだったのでこのくらいにしようかと思います。
シンプルでも大量に処理を行うので、このコード1つで手動でやった場合と、
量によっては1人月くらい差が出るかもしれません。
こういうプログラムができる仕事はどんどん自動化していきたいものですね。
それではまた。