松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第61回
SharePointコネクタだけでは実現できない処理も、APIを使えばできる
Power AutomateでSharePoint APIを使う ― SPOリストを自動作成するフローを作ろう
2026年05月08日 11時00分更新
2-4. アクションの設定:JSONの解析
「組み込み」カテゴリをクリックし、「データ操作」コネクタのアクションから「JSONの解析」を選択します。
先ほどの「作成」アクションの出力が、後続のアクションでは直接扱いづらいため、ここで扱いやすい形に変換します。以下の内容を設定します。
(1)コンテンツ:作成アクションの動的なコンテンツ「出力」を選択
(2)スキーマ:以下の内容をコピー&ペースト
"type": "object",
"properties": {}
}
2-5. アクションの設定:作成
検索窓に「作成」と入力し、「データ操作」コネクタのアクション一覧から「作成」を選択します。今回のフローで2つめの「作成」アクションなので、名前は自動的に「作成2」となります。
ここでは、先の「JSONの解析」で取得したデータから、列定義の配列(columns)だけを取り出します。「式」に以下の内容をコピー&ペーストします。
この式により、JSONデータ全体ではなく、配列部分だけを後続の処理に渡すことができます。
2-6. アクションの設定:Apply to each
SharePoint APIでは、複数の列(フィールド)を一度にまとめて作成することはできず、1列ずつ作成のリクエストを送信する必要があります。
そこでここでは、「Apply to each」アクションを使って、列を順番に作成します。「コントロール」カテゴリをクリックし、「Apply to each」をクリックします。
「以前の手順から出力を選択」には、「作成2」アクションの動的なコンテンツ「出力」を設定します。
2-6-1. アクションの設定:SharePointにHTTP要求を送信します
SPOリストに列を追加するアクションを設定します。「Apply to each」の枠内で「アクションの追加」をクリックします。
検索窓に「SharePoint」と入力し、「SharePoint」コネクタのアクション一覧から「SharePointにHTTP要求を送信します」を選択します。
先ほど準備した配列(列の名前、データ型)に沿って、SPOリストに列を作成していきます。以下の内容を設定します。
(1)サイトのアドレス:新規リストを作成するサイトを選択
(2)方法:「POST」を選択
(3)URI:以下の内容をコピー&ペースト
このURIは、指定したリストに列を追加するためのエンドポイントです。
(4)ヘッダー:以下の内容をコピー&ペースト
Content-Type : application/json;odata=verbose
(5)ボディ:以下の内容をコピー&ペースト
"__metadata": { "type": "SP.Field" },
"Title": "@{items('Apply_to_each')?['name']}",
"FieldTypeKind": @{items('Apply_to_each')?['type']}
}
列名(Title)とデータ型(FieldTypeKind)を指定することで、「Apply to each」で取り出したカラム情報をもとに、列を1件ずつ作成しています。事前に定義した複数の列を、順番にリストへ追加することができます。
以上でフローの作成が完了しました。最後に忘れず「保存」して、テストを実行してみてください。
3. 実行結果
実際に、このフローでSPOサイトが作成され、列も正しく追加されることを確認します。
Power Automateのポータルからトリガーを起動し、「5678AAAList」というリスト名を入力して、リストを作成してみました。
リストの作成が確認できたので、続いて列が追加されていることも確認します。「+列の追加」メニューから「列の表示と非表示を切り替える」をクリックします。
「ビューの列の編集」メニューに、クラウドフローで追加した列名が表示されることを確認しました。フローは正常に動いています。
ただし、ここで新たな問題にも気づきました。ここまでフローで列を追加しただけでは、SPOリストのビューには表示されず、一つずつ手作業で表示することになります。これは面倒ですよね?
そこで最後に、ここまでのフローにアクションを追加して、自動作成したSPOリストの列名の表示まで自動で処理されるようにします。
3-1. アクションの追加:SharePointにHTTP要求を送信します
「2-6-1. アクションの設定:SharePointにHTTP要求を送信します」で作成したアクションのあとに、もう1つ「SharePointにHTTP要求を送信します」アクションを追加します。
ここでは、SharePoint APIを使って、追加した列をSPOリストのビューに表示させる処理を行います。
以下の内容を設定します。
(1)サイトのアドレス:新規リストを作成するサイトを選択
(2)方法:「POST」を選択
(3)URI:以下の内容をコピー&ペースト
URIに指定している「ViewFields/AddViewField」は、指定したビューに列を追加するためのエンドポイントです。今回は「すべてのアイテム」ビューに対して、作成した列を順番に追加しています。
なお、ここで指定する列名は表示名ではなく内部名となるので注意してください。今回は「Apply to each」で取得したカラム名(英語名)を使用しています。
(4)ヘッダー:以下の内容をコピー&ペースト
Content-Type : application/json;odata=verbose
最終的に完成したフローは、以下の内容になります。
さいごに
今回見てきたとおり、SharePoint APIを利用すると、SharePointリストの作成だけでなく、列の定義やビュー表示までを含めた自動化が可能になります。このように、Power Automateのコネクタで用意されているアクションだけでは実現できない処理も、APIを活用することで柔軟に対応できるのです。
今回のSharePointフローは、同じ構成のリストを複数環境で作成する場合や、テンプレート化したい場合には非常に有効です。ぜひ試して、活用してみてください!
参考リンク
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第60回
Team Leaders
ファイル名が命名規則に合っているかの自動チェック、Power Automateのフローで実現しよう -
第59回
Team Leaders
Power Automateでよくある“条件判定の入れ子(ネスト)地獄”、回避する方法は? -
第58回
Team Leaders
実はできる! Power Automateでテーブル設定済みのExcelファイルを新規作成する方法 -
第57回
Team Leaders
顧客管理をラクに! リストに顧客情報が入力されたら自動でフォルダーを新規作成する -
第56回
Team Leaders
Power Automateで“祝日を除く”平日だけフローを自動処理させるには? -
第55回
Team Leaders
フォルダーに入れるだけでPDFに自動変換! Power Automateの標準コネクタで実現する -
第54回
Team Leaders
Teamsで「👍」が付いたらPower Automateのフローを自動実行! そんな方法を教えます -
第53回
Team Leaders
Excelの画面上からPower Automateを実行! “自動化の入り口”にしよう -
第52回
Team Leaders
Microsoft Formsへの入力で、Power Automateフローを実行する! 実践的連携術 -
第51回
Team Leaders
Power Automateの「トリガーの条件」が便利! フローの繰り返し実行を細かく制御しよう - この連載の一覧へ
