Power Automate で SharePoint リストに複数の列を追加


SharePoint Lists は、Microsoft 365に含まれる最も汎用性の高いデータストレージです。Power Apps のデータソースとし使用でき、強力なローコードアプリケーションのデータベースとして使えます。追加ライセンスも不要です。

SharePoint リストには、1 行テキスト、複数行テキスト、数字、日付など、さまざまな種類のデータを保存できます。ただし、各データ型にはそれぞれ制限があるので注意が必要です。

リストにデータを格納する前に、列を追加してテーブル構造を作成する必要があります。しかし、SharePoint のWebインターフェイスでは、一度に複数の列を作成することができません。多くのフィールドを手動で追加する必要がある場合、非常に時間がかかります。

幸いなことに、このプロセスは Power Automate と組み合わせて SharePoint REST API を使用して自動化することができます。

この記事では、SharePoint API と Power Automate を使用して、SharePoint リストに複数の列をすばやく作成する方法を説明します。

ステップ1:
新しい Power Automate Instant フローを作成します。


ステップ3.
(i).アクション'Parse JSON'を使って、:
Power Automate の「JSON 解析」アクションは、JSON 形式の文字列から特定のデータを抽出して操作するために使用されます。このアクションは、生の JSON 形式(多くの場合、API、HTTP 応答、またはその他の動的ソースから取得されます)を、フローの後のステップでより簡単に使用できる構造化された形式に変換します。
(ii).内容は 「作成 」の出力となる:outputs('作成')
スキーマはこうなる: 

JSONのスキーマを定義する必要がある。
Power Automateは、入力されたデータが定義されたスキーマと一致するかどうかをチェックする。一致しない場合、フローは高速に失敗し、不良データが後でエラーを引き起こすのを防ぐことができる。

{

"type": "object",
"properties":{}

}


ステップ4:
新しい「作成2」アクションを作成して、列名とそのデータ型を含む配列を抽出します。
「作成2」アクションで、入力をbody('Parse_JSON')?['columns']として使用します。



フローを実行し、「作成2」の出力から取得した結果を JSON オブジェクトの配列として表示してみましょう。


ステップ5:
「Apply to Each」アクションを使用し、「作成2」から取得したオブジェクトの各配列を繰り返し処理します。
[Apply to each] アクション内で、アクション「SharePoint に HTTP 要求を送信します」を使用すると、列の作成に POST 要求が使用されます。

次の入力を送信する必要があります。
(i).サイトのアドレス: sharePoint サイトのアドレス
(ii).方法: POST
(iii). URI: _api/web/lists/getbytitle('{SharePoint リスト}')/fields
(iv). ヘッダー:

{

    "Accept": "application/json;odata=verbose",

    "Content-Type": "application/json;odata=verbose"

}

(v).ボディ:

{

    "__metadata": { "type": "SP.Field" },

    "FieldTypeKind": "@{items('Apply_to_each')?['type']}",

    "Title": "@{items('Apply_to_each')?['name']}"

  }


ステップ 6.
フローを保存して実行します。

SharePoint リストに複数の列を作成するためのフローが正常に実行されました

ステップ 7:
SharePoint リストに列が作成されたかどうかを SharePoint リストで確認します。

SharePoint リストに列が正常に追加されていることが確認できます。

この記事では、Power Automate と連携して SharePoint API を使用し、SharePoint リストに複数の列を作成する方法を紹介します。

お読みいただきありがとうございました!次回は、Microsoft 365、Power Apps、Power Automate に関連するトピックをご紹介します。