リストの中身を知るには、時にリストIDが必要な場合があるのだ
SharePoint Onlineでニュースなどページを追加すると、サイトのページとして一覧が確認できます。見てわかるとおりこれはリストです。

この記事が役に立つ人
SharePoint Onlineを会社や部署のポータルサイトとして利用していて、多くのニュース投稿を管理してる方にお勧めです。
さっそくPower Automateで取得してやろう!と試してみましたが、リストの一覧にサイトページのリストは現れません。これは「カスタム値の入力」で直接IDを投入してやる必要がありそうです。

サイトのページは、ただのリストではないからか?
ふつうのリストだと、「設定」>「リストの設定」を開くと、出てくる設定画面のURLにリストIDが含まれています。(%7Bは{を表すので、その後ろからがリストIDですね)


ところが、サイトのページ リストが表示されている画面から「設定」をクリックしても、「リストの設定」がありません。これは困った。

リストIDの取得方法
その1 設定画面から取得する
以下の通りに開きます。
その2 Excelにエクスポートから取得する
サイトの上部に表示されている「Excelにエクスポート」をクリックします。

query.iqy という名前のファイルがダウンロードされます。

これをテキストエディタやメモ帳で開きます。SharePointListName という項目がリストのIDです。

Power Automateでリストの内容を取得してみる
さっそく、取得したIDを「複数の項目の取得」のリスト名に「カスタム値の入力」として差し込みました。

いちどテスト実行して得たJSONの値をコピーして、「JSONの解析」アクションの「サンプルから生成」を開いた中に張り付け、スキマーを自動生成させます。
この状態で再度テスト実行します。

サイトの一覧が取得できました。取得できたのは以下のような項目です。
| 項目 | 説明 |
|---|---|
| ID | リストの行ID |
| TITLE | ページタイトル |
| Editor | 記事の投稿者情報 |
| Editor#Claims | 投稿者のID |
| Modified | 編集日時 |
| Created | 作成日時 |
| Description | ページの中身のテキスト(250文字) |
| BannerImageUrl | バナーのイメージURL |
| FirstPublishedDate | 最初に公開された日時 |
| OData__AuthorByline | 投稿者の情報、ページURL、ページファイル名、バージョン番号など |
IDが取得できてよかった・・・でももっと簡単な方法が。
リスト名の選択に現れなかった「サイトのページ」を手入力したら、ID不要で取得できてしまった衝撃の字事実・・・。IDの出し方をいろいろ探していた時間っていったい・・・。

この衝撃の方法は、こちらのQiita記事で知りました。https://qiita.com/mizukyf/items/81aa3a370cd40f501162
最後に
サイトのページリストはページを一覧で取得できてPower Automateと組み合わせるとかなり強力なことがわかりました。ページの中身のテキストも抽出できるのだけれど、250文字以降は端折られているので、別記事では全文取得にチャレンジしたいと思います。

