1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Power Automate で SharePoint リストの列名(表示名)を取得して一覧化したい!できれば標準コネクタで!

Posted at

はじめに

ごきげんよう、百合宮桜(Miyu)です(≧▽≦)
突然ですが……SharePoint Lists の列名の一覧表がほしいなぁ……と思ったことはありませんか??

image.png

私はあります!! プレミアムコネクタを使わない方法だと殊更嬉しい!と思ったこともあります!!
Yes 推し活! No Money !! なので(´・ω・`)

今日は同じように No Money な皆さんへ Power Automate でSharePoint Lists の列名(表示名)を一覧で取得する方法を伝授します。

全体像

SharePoint に HTTP 要求を送信します アクションを利用します。ここは少しAPI知識が必要です。分からない方は分かる人と一緒にやりましょう♪

image.png

SharePoint REST API のドキュメントはこのあたりです👇

ただ、私が使っている URI についての記載はありません。野生の勘が冴えわたっただけです。

さて SharePoint に HTTP 要求を送信します アクションでの取得結果に話を戻します。このアクションで後述するURI を指定すると列のメタデータが配列形式で取得できます。


{
                "AutofillInfo": null,
                "AutoIndexed": false,
                "CanBeDeleted": false,
                "ClientSideComponentId": "00000000-0000-0000-0000-000000000000",
                "ClientSideComponentProperties": null,
                "ClientValidationFormula": null,
                "ClientValidationMessage": null,
                "CustomFormatter": null,
                "DefaultFormula": null,
                "DefaultValue": null,
                "Description": "",
                "Direction": "none",
                "EnforceUniqueValues": false,
                "EntityPropertyName": "ContentTypeId",
                "Filterable": true,
                "FromBaseType": true,
                "Group": "ユーザー設定の列",
                "Hidden": true,
                "Id": "03e45e84-1992-4d42-9116-XXXXXXXXXXXX",
                "Indexed": false,
                "IndexStatus": 0,
                "InternalName": "ContentTypeId",
                "IsModern": false,
                "JSLink": null,
                "PinnedToFiltersPane": false,
                "ReadOnlyField": true,
                "Required": false,
                "SchemaXml": "<Field ID=\"{03e45e84-1992-4d42-9116-XXXXXXXXXXXX}\" RowOrdinal=\"0\" Type=\"ContentTypeId\" Sealed=\"TRUE\" ReadOnly=\"TRUE\" Hidden=\"TRUE\" DisplayName=\"コンテンツ タイプの ID\" Name=\"ContentTypeId\" DisplaceOnUpgrade=\"TRUE\" SourceID=\"http://schemas.microsoft.com/sharepoint/v3\" StaticName=\"ContentTypeId\" ColName=\"tp_ContentTypeId\" FromBaseType=\"TRUE\" />",
                "Scope": "/sites/SiteName/Lists/ListName",
                "Sealed": true,
                "ShowInFiltersPane": 0,
                "Sortable": true,
                "StaticName": "ContentTypeId",
                "Title": "コンテンツ タイプの ID",
                "FieldTypeKind": 25,
                "TypeAsString": "ContentTypeId",
                "TypeDisplayName": "コンテンツ タイプの ID",
                "TypeShortDescription": "コンテンツ タイプの ID",
                "ValidationFormula": null,
                "ValidationMessage": null
            }

その中の Title というものが列の表示名ですので、Titleだけを JSONの解析 → 選択 で配列化すると一覧表チックにできるよということです。

作成方法

  1. SharePoint に HTTP 要求を送信します アクション を追加します

    image.png

  2. 画像のように設定します

    image.png

    _api/web/lists/getbytitle('{SharePoint Lists の名称}')/fields
    

    あとでスキーマの生成に利用するので、ここで1回テスト実行をしましょう!

    :

  3. JSON の解析アクションを追加します

    image.png

  4. テスト実行結果から SharePoint に HTTP 要求を送信します > 出力 > body をコピーします

    image.png

  5. サンプルペイロードを使用してスキーマを生成するをクリックします

    image.png

  6. 4 でコピーしたものから body: まで除外したものを貼り付け、完了をクリックします

    image.png

    image.png

  7. スキーマが自動で生成されます

    image.png

  8. 選択アクションを追加し、元 に JSON の解析 > Body Value を入れます

    image.png

  9. マップの左側は一覧化した時に自然な列名を入れます

    image.png

  10. マップの右側は JSON の解析 > Body Title を入れます

    image.png

これで完成です。
表示名という列に指定したリストの列名が格納された配列ができました!

image.png

あとは煮るなり焼くなり、HTMLテーブル化してメールに入れ込むなり、CSV化してメールに添付するなり……ご自由にどうぞ☆彡

終わりに

今回はかなりムズカシイ内容を取り上げました!
市民開発で非IT従事者がここまでやってしまうと引継ぎ時に混乱を極める場合が多いです。
他の人に引き継げるレベルのフローかな?という観点をもって、判断されることを強くお勧めいたします。

最後にオタクのよくわからないつぶやきにアドバンスくださった、やまさんありがとうございました!!

Power Apps でも同じように動かせそうかはこれから検証します(´・ω・`)
それではごきげんよう♪

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?