Microsoft Graph API for SharePoint Pagesが一般公開されたので、Power Automateで試してみる

# はじめに
先日Twitterで、こちらの投稿を見かけました。

https://devblogs.microsoft.com/microsoft365dev/microsoft-graph-api-for-sharepoint-pages-is-now-generally-available/

Microsoft Graph API for SharePoint Pagesが一般公開！とのことで、
**SharePointの投稿作成が捗るのでは！と思い**、さっそくPower Automateで試してみました。

<iframe width="560" height="315" src="https://www.youtube.com/embed/_FgikLdcPVc?si=u3FXGD_jXep6dYLG" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

# 今回試したこと
1. **サイトのページの取得**
1. **ページの投稿**
1. **特定のページの取得**
1. **ページの削除**
1. **ページの編集**

上記のシナリオを試しています。
[Micorosoft learn](https://learn.microsoft.com/en-us/graph/api/resources/sitepage?view=graph-rest-1.0)の基本的なシナリオの検証結果です。

https://learn.microsoft.com/en-us/graph/api/resources/sitepage?view=graph-rest-1.0

手っ取り早く試したい方は[Graph Explorer](https://developer.microsoft.com/en-us/graph/quick-start)がおススメです。

https://developer.microsoft.com/en-us/graph/quick-start

# 検証に当たり
Graph APIは自分自身チャレンジした経験が浅く、
また経験上、`Microsoft Entra IDでアプリの登録をして…`といった準備は実装までに、
かなり時間がかかる印象を抱きました。

そこで！今回は**SharePointコネクタの既存のアクションでできないかトライしました。**

https://learn.microsoft.com/ja-jp/connectors/sharepointonline/?WT.mc_id=DX-MVP-5005281#http-%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88%E3%82%92-sharepoint-%E3%81%AB%E9%80%81%E4%BF%A1%E3%81%97%E3%81%BE%E3%81%99

今回の記事では[SharePoint に HTTP 要求を送信](https://learn.microsoft.com/ja-jp/connectors/sharepointonline/?WT.mc_id=DX-MVP-5005281#http-%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88%E3%82%92-sharepoint-%E3%81%AB%E9%80%81%E4%BF%A1%E3%81%97%E3%81%BE%E3%81%99)アクションをメインで使用しています。


## [SharePoint に HTTP 要求を送信](https://learn.microsoft.com/ja-jp/connectors/sharepointonline/?WT.mc_id=DX-MVP-5005281#http-%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88%E3%82%92-sharepoint-%E3%81%AB%E9%80%81%E4%BF%A1%E3%81%97%E3%81%BE%E3%81%99)アクションでGraph API

[SharePoint に HTTP 要求を送信](https://learn.microsoft.com/ja-jp/connectors/sharepointonline/?WT.mc_id=DX-MVP-5005281#http-%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88%E3%82%92-sharepoint-%E3%81%AB%E9%80%81%E4%BF%A1%E3%81%97%E3%81%BE%E3%81%99)アクションでGraph APIを使う上で、下記のサイトを参考にさせていただきました🙇

- [Microsoft learn Microsoft Graphの概要](https://learn.microsoft.com/ja-jp/graph/overview?context=graph%2Fapi%2F1.0&view=graph-rest-1.0)
- [Microsoft learn SharePoint REST v2 (Microsoft Graph)エンドポイント を使用した操作](https://learn.microsoft.com/ja-jp/sharepoint/dev/apis/sharepoint-rest-graph?WT.mc_id=DX-MVP-5005281
)
- [コルネさんのブログ](https://koruneko.hatenablog.com/entry/2023/09/25/021653)

https://learn.microsoft.com/ja-jp/graph/overview?context=graph%2Fapi%2F1.0&view=graph-rest-1.0

https://learn.microsoft.com/ja-jp/sharepoint/dev/apis/sharepoint-rest-graph?WT.mc_id=DX-MVP-5005281

https://koruneko.hatenablog.com/entry/2023/09/25/021653

いつも大変お世話になっております。
**Graph APIを実行するためのアクションは、URIを下記のように設定すると実行できるようです。**

```plaintext:Graph APIをSharePointコネクタで呼び出すときの指定
_api/v2.1/sites
```

と記載することで実行できました。
[なぜv2.1🧐という部分は、下記の記事](https://powerusers.microsoft.com/t5/General-Power-Automate/Sharepoint-Site-Collection-Id-and-Site-Web-Id-Information-using/td-p/2038311
)を紹介します。

https://powerusers.microsoft.com/t5/General-Power-Automate/Sharepoint-Site-Collection-Id-and-Site-Web-Id-Information-using/td-p/2038311

:::note warn
[紹介した記事](https://powerusers.microsoft.com/t5/General-Power-Automate/Sharepoint-Site-Collection-Id-and-Site-Web-Id-Information-using/td-p/2038311)に下記の記載があります。

> The use of Microsoft Graph http requests in Power Automate is currently less documented since it is relatively newer.
>> [Method 2.0 or 2.1 HTTP Request for Site Collection and Site Id Information - Sharepoint Site Collection Id and Site Web Id Information using HTTP Request Uri _api/Site _api/Web or _api/v2.1](https://powerusers.microsoft.com/t5/General-Power-Automate/Sharepoint-Site-Collection-Id-and-Site-Web-Id-Information-using/td-p/2038311)

本件の操作に関するドキュメントは少ないです。
運用で実装される際は、その点を鑑みてご活用ください。
:::

Graph APIの記法で実施するメリットは、非常に記載がシンプルになります。
検証結果で内容をご確認ください。

### 1. サイトのページの取得
指定したSharePointサイトの全ページを取得します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/535ab065-7af5-99c5-3926-8c308c2b1884.png)

Method - `GET`

```plaintext:URI
_api/v2.1/sites/{Host名}/pages
```

https://learn.microsoft.com/en-us/graph/api/sitepage-list?view=graph-rest-1.0&tabs=http

```json:戻り値のサンプル
{
    "@odata.context": "https://hogehoge.sharepoint.com/sites/SharePointSiteName/_api/v2.1/$metadata#sites('hogehoge.sharepoint.com')/pages",
    "value": [
      {
        "@odata.type": "#oneDrive.page",
        "@odata.etag": "\"{D10007AD-ACE4-4144-A13A-E601789BCE94},3\"",
        "createdDateTime": "2024-04-26T14:58:47Z",
        "eTag": "\"{D10007AD-ACE4-4144-A13A-E601789BCE94},3\"",
        "id": "d10007ad-ace4-4144-a13a-e601789bce94",
        "lastModifiedDateTime": "2024-04-26T14:58:47Z",
        "name": "20240426145845.aspx",
        "webUrl": "https://hogehoge.sharepoint.com/sites/SharePointSiteName/SitePages/20240426145845.aspx",
        "title": "test",
        "pageLayout": "article",
        "thumbnailWebUrl": "https://media.akamai.odsp.cdn.office.net/hogehoge.sharepoint.com/_layouts/15/images/sitepagethumbnail.png",
        "promotionKind": "page",
        "showComments": true,
        "showRecommendedPages": false,
        "createdBy": {
          "user": {
            "displayName": "出戻り ガツオ",
            "email": "Mail.onmicrosoft.com"
          }
        },
        "lastModifiedBy": {
          "user": {
            "displayName": "出戻り ガツオ",
            "email": "Mail.onmicrosoft.com"
          }
        },
        "parentReference": {
          "listId": "fccd0142-da92-407f-b8ac-f42356cb2b9e",
          "siteId": "3789813c-5048-4aa0-b130-cfa78b57b219"
        },
        "contentType": {
          "id": "0x0101009D1CB255DA76424F860D91F20E6C41180060E80DAACC226D47992993F04DAFA7E4",
          "name": "サイト ページ"
        },
        "publishingState": {
          "level": "checkout",
          "versionId": "0.1",
          "checkedOutBy": {
            "user": {
              "displayName": "出戻り ガツオ",
              "email": "Mail.onmicrosoft.com"
            }
          }
        },
        "reactions": {},
        "titleArea": {
          "enableGradientEffect": true,
          "imageWebUrl": "https://cdn.hubblecontent.osi.office.net/m365content/publish/005292d6-9dcc-4fc5-b50b-b2d0383a411b/image.jpg",
          "layout": "colorBlock",
          "showAuthor": true,
          "showPublishedDate": false,
          "showTextBlockAboveTitle": false,
          "textAboveTitle": "TEXT ABOVE TITLE",
          "textAlignment": "left",
          "title": "sample1",
          "authorByline@odata.type": "#Collection(String)",
          "authorByline": [
            "i:0#.f|membership|Mail.onmicrosoft.com"
          ],
          "imageSourceType": 2,
          "serverProcessedContent": {
            "imageSources": [
              {
                "key": "imageSource",
                "value": "https://cdn.hubblecontent.osi.office.net/m365content/publish/005292d6-9dcc-4fc5-b50b-b2d0383a411b/image.jpg"
              }
            ]
          },
          "authors@odata.type": "#Collection(graph.Json)",
          "authors": [
            {
              "email": "Mail.onmicrosoft.com",
              "upn": "Mail.onmicrosoft.com",
              "id": "i:0#.f|membership|Mail.onmicrosoft.com",
              "name": "出戻り ガツオ"
            }
          ]
        }
      }
    ]
  }
```

上記は一部割愛していますが、投稿者やページのデザイン、ファイル名などが列挙されますね。
これだけの操作でページと付随する情報が取得できることは驚きです。

:::note info
Host名は、`hoge.sharepoint.com`の部分です。
検証したところ、`root`という文字列に置き換えても動作しました👍
:::


### 2. ページの投稿
指定したSharePointサイトに新しいページを投稿します。
URIは、`1. サイトのページの取得`と一緒、メソッドを`POST`に変えてヘッダー、ボディを加えます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/912085fa-16eb-7805-4a19-93987a578174.png)

Method - `POST`

```json:ヘッダー
{
  "Content-Type": "application/json"
}
```

```plaintext:URI
_api/v2.1/sites/{Host名}/pages
```

ボディは[Microsoft learnのサンプル](https://learn.microsoft.com/en-us/graph/api/sitepage-create?view=graph-rest-1.0&tabs=http)を使っています。

```json:ボディ
{
  "@odata.type": "#microsoft.graph.sitePage",
  "name": "@{outputs('SitePage_Name')}",
  "title": "test",
  "pageLayout": "article",
  "showComments": true,
  "showRecommendedPages": false,
  "titleArea": {
    "enableGradientEffect": true,
    "imageWebUrl": "https://cdn.hubblecontent.osi.office.net/m365content/publish/005292d6-9dcc-4fc5-b50b-b2d0383a411b/image.jpg",
    "layout": "colorBlock",
    "showAuthor": true,
    "showPublishedDate": false,
    "showTextBlockAboveTitle": false,
    "textAboveTitle": "TEXT ABOVE TITLE",
    "textAlignment": "left",
    "imageSourceType": 2,
    "title": "sample1"
  },
  "canvasLayout": {
    "horizontalSections": [
      {
        "layout": "oneThirdRightColumn",
        "id": "1",
        "emphasis": "none",
        "columns": [
          {
            "id": "1",
            "width": 8,
            "webparts": [
              {
                "id": "6f9230af-2a98-4952-b205-9ede4f9ef548",
                "innerHtml": "<p><b>Hello!</b></p>"
              }
            ]
          },
          {
            "id": "2",
            "width": 4,
            "webparts": [
              {
                "id": "73d07dde-3474-4545-badb-f28ba239e0e1",
                "webPartType": "d1d91016-032f-456d-98a4-721247c305e8",
                "data": {
                  "dataVersion": "1.9",
                  "description": "Show an image on your page",
                  "title": "Image",
                  "properties": {
                    "imageSourceType": 2,
                    "altText": "",
                    "overlayText": "",
                    "siteid": "0264cabe-6b92-450a-b162-b0c3d54fe5e8",
                    "webid": "f3989670-cd37-4514-8ccb-0f7c2cbe5314",
                    "listid": "bdb41041-eb06-474e-ac29-87093386bb14",
                    "uniqueid": "d9f94b40-78ba-48d0-a39f-3cb23c2fe7eb",
                    "imgWidth": 4288,
                    "imgHeight": 2848,
                    "fixAspectRatio": false,
                    "captionText": "",
                    "alignment": "Center"
                  },
                  "serverProcessedContent": {
                    "imageSources": [
                      {
                        "key": "imageSource",
                        "value": "/_LAYOUTS/IMAGES/VISUALTEMPLATEIMAGE1.JPG"
                      }
                    ],
                    "customMetadata": [
                      {
                        "key": "imageSource",
                        "value": {
                          "siteid": "0264cabe-6b92-450a-b162-b0c3d54fe5e8",
                          "webid": "f3989670-cd37-4514-8ccb-0f7c2cbe5314",
                          "listid": "bdb41041-eb06-474e-ac29-87093386bb14",
                          "uniqueid": "d9f94b40-78ba-48d0-a39f-3cb23c2fe7eb",
                          "width": "4288",
                          "height": "2848"
                        }
                      }
                    ]
                  }
                }
              }
            ]
          }
        ]
      }
    ]
  }
}
```

https://learn.microsoft.com/en-us/graph/api/sitepage-create?view=graph-rest-1.0&tabs=http

なにが良いか、というと個人的に`_api/sitepages/pages('ItemId')/savepageasdraft`で実施するボディより、感覚的に見やすい印象。
`savepageasdraft`だと、このようになるので…。


<details><summary> savepageasdraftのボディ </summary>

```
{
    "__metadata": {
        "type": "SP.Publishing.SitePage"
    },
    "CanvasContent1": "[{\"emphasis\":{\"zoneEmphasis\":0},\"position\":{\"layoutIndex\":1,\"sectionFactor\":8,\"zoneIndex\":1,\"sectionIndex\":1,\"controlIndex\":1},\"addedFromPersistedData\":true,\"displayMode\":2,\"id\":\"6f9230af-2a98-4952-b205-9ede4f9ef548\",\"controlType\":4,\"editorType\":\"CKEditor\",\"modifiedByGraph\":{\"apiVersion\":\"Vroom\",\"lastModified\":1714143526},\"innerHTML\":\"<p><strong>Hello!</strong></p>\"},{\"emphasis\":{\"zoneEmphasis\":0},\"position\":{\"layoutIndex\":1,\"sectionFactor\":4,\"zoneIndex\":1,\"sectionIndex\":2,\"controlIndex\":1},\"addedFromPersistedData\":true,\"displayMode\":2,\"id\":\"73d07dde-3474-4545-badb-f28ba239e0e1\",\"controlType\":3,\"webPartId\":\"d1d91016-032f-456d-98a4-721247c305e8\",\"webPartData\":{\"id\":\"d1d91016-032f-456d-98a4-721247c305e8\",\"instanceId\":\"73d07dde-3474-4545-badb-f28ba239e0e1\",\"title\":\"Image\",\"description\":\"Show an image on your page\",\"audiences\":[],\"serverProcessedContent\":{\"htmlStrings\":{},\"searchablePlainTexts\":{},\"imageSources\":{\"imageSource\":\"/_LAYOUTS/IMAGES/VISUALTEMPLATEIMAGE1.JPG\"},\"links\":{},\"customMetadata\":{\"imageSource\":{\"width\":4288,\"height\":2848}}},\"dataVersion\":\"1.11\",\"properties\":{\"imageSourceType\":2,\"altText\":\"\",\"overlayText\":\"\",\"siteid\":\"0264cabe-6b92-450a-b162-b0c3d54fe5e8\",\"webid\":\"f3989670-cd37-4514-8ccb-0f7c2cbe5314\",\"listid\":\"bdb41041-eb06-474e-ac29-87093386bb14\",\"uniqueid\":\"d9f94b40-78ba-48d0-a39f-3cb23c2fe7eb\",\"imgWidth\":4288,\"imgHeight\":2848,\"fixAspectRatio\":false,\"captionText\":\"\",\"alignment\":\"Center\",\"overlayTextStyles\":{\"textColor\":\"light\",\"isBold\":false,\"isItalic\":false,\"textBoxColor\":\"dark\",\"textBoxOpacity\":0.54,\"overlayColor\":\"light\",\"overlayTransparency\":0},\"isOverlayTextVisible\":true},\"containsDynamicDataSource\":false},\"reservedHeight\":266,\"reservedWidth\":364},{\"controlType\":0,\"pageSettingsSlice\":{\"isDefaultDescription\":true,\"isDefaultThumbnail\":true,\"isSpellCheckEnabled\":true,\"globalRichTextStylingVersion\":0,\"rtePageSettings\":{\"contentVersion\":5},\"isEmailReady\":false}}]",
    "PageRenderingState": {
        "canvasState": {}
    },
    "LayoutWebpartsContent": "[{\"id\":\"cbe7b0a9-3504-44dd-a3a3-0e5cacd07788\",\"instanceId\":\"cbe7b0a9-3504-44dd-a3a3-0e5cacd07788\",\"title\":\"Title area\",\"description\":\"Title Region Description\",\"audiences\":[],\"serverProcessedContent\":{\"htmlStrings\":{},\"searchablePlainTexts\":{},\"imageSources\":{\"imageSource\":\"https://cdn.hubblecontent.osi.office.net/m365content/publish/005292d6-9dcc-4fc5-b50b-b2d0383a411b/image.jpg\"},\"links\":{},\"customMetadata\":{\"imageSource\":{}}},\"dataVersion\":\"1.4\",\"properties\":{\"title\":\"test\",\"topicHeader\":\"TEXT ABOVE TITLE\",\"textAlignment\":\"Left\",\"showTopicHeader\":false,\"showPublishDate\":false,\"layoutType\":\"ColorBlock\",\"enableGradientEffect\":true,\"authors\":[{\"email\":\"Mail@onmicrosoft.com\",\"upn\":\"Mail@onmicrosoft.com\",\"id\":\"i:0#.f|membership|Mail@onmicrosoft.com\",\"name\":\"出戻り ガツオ\"}],\"authorByline\":[\"i:0#.f|membership|Mail@onmicrosoft.com\"],\"imageSourceType\":2,\"isDecorative\":true},\"containsDynamicDataSource\":false,\"reservedHeight\":450}]",
    "AuthorByline": [
        "i:0#.f|membership|Mail@onmicrosoft.com"
    ],
    "TopicHeader": "TEXT ABOVE TITLE",
    "BannerImageUrl": "https://cdn.hubblecontent.osi.office.net/m365content/publish/005292d6-9dcc-4fc5-b50b-b2d0383a411b/image.jpg",
    "Title": "test"
}
```

</details>

ページ作成の自動化は、過去に挑戦したことがありました。

https://qiita.com/DEmodoriGatsuO/items/e1ca989fc150ced4c47d

苦戦するポイントは`/`エスケープ文字の多さ。
とにかく見づらい💦
**Graph APIでやると、縦型で書式が整ってみられることが大きいな、と見比べて感じますね。**

https://learn.microsoft.com/en-us/graph/api/sitepage-create?view=graph-rest-1.0&tabs=http

### 3. 特定のページの取得
指定したSharePointサイトの`ページID`から、特定のページの詳細を取得します。
`ページID`は`1. サイトのページの取得`や`2. ページの投稿`の戻り値の`id`属性から取得できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/128c7277-6825-1420-5b32-c3a6681ba5ff.png)

Method - `GET`

```plaintext:URI
_api/v2.1/sites/{Host名}/pages/{page_id}
```

```json:戻り値のサンプル
{
    "@odata.context": "https://hogehoge.sharepoint.com/sites/SharePointSite/_api/v2.1/$metadata#sites('hogehoge.sharepoint.com')/pages/oneDrive.page/$entity",
    "@odata.type": "#oneDrive.page",
    "@odata.etag": "\"{7F0875B7-250D-434B-8BE5-410C2EF9030D},11\"",
    "createdDateTime": "2024-04-26T15:31:43Z",
    "eTag": "\"{7F0875B7-250D-434B-8BE5-410C2EF9030D},11\"",
    "id": "7f0875b7-250d-434b-8be5-410c2ef9030d",
    "lastModifiedDateTime": "2024-04-29T12:40:40Z",
    "name": "20240426153141.aspx",
    "webUrl": "https://hogehoge.sharepoint.com/sites/SharePointSite/SitePages/20240426153141.aspx",
    "title": "sample",
    "pageLayout": "article",
    "thumbnailWebUrl": "https://media.akamai.odsp.cdn.office.net/hogehoge.sharepoint.com/_layouts/15/images/sitepagethumbnail.png",
    "promotionKind": "page",
    "showComments": true,
    "showRecommendedPages": false,
    "createdBy": {
      "user": {
        "displayName": "出戻り ガツオ",
        "email": "Mail@onmicrosoft.com"
      }
    },
    "lastModifiedBy": {
      "user": {
        "displayName": "SharePoint アプリ"
      }
    },
    "parentReference": {
      "listId": "fccd0142-da92-407f-b8ac-f42356cb2b9e",
      "siteId": "3789813c-5048-4aa0-b130-cfa78b57b219"
    },
    "contentType": {
      "id": "0x0101009D1CB255DA76424F860D91F20E6C41180060E80DAACC226D47992993F04DAFA7E4",
      "name": "サイト ページ"
    },
    "publishingState": {
      "level": "draft",
      "versionId": "0.7"
    },
    "reactions": {},
    "titleArea": {
      "enableGradientEffect": true,
      "imageWebUrl": "https://cdn.hubblecontent.osi.office.net/m365content/publish/005292d6-9dcc-4fc5-b50b-b2d0383a411b/image.jpg",
      "layout": "colorBlock",
      "showAuthor": true,
      "showPublishedDate": false,
      "showTextBlockAboveTitle": false,
      "textAboveTitle": "TEXT ABOVE TITLE",
      "textAlignment": "left",
      "title": "sample1",
      "authorByline@odata.type": "#Collection(String)",
      "authorByline": [
        "i:0#.f|membership|Mail@onmicrosoft.com"
      ],
      "imageSourceType": 2,
      "serverProcessedContent": {
        "imageSources": [
          {
            "key": "imageSource",
            "value": "https://cdn.hubblecontent.osi.office.net/m365content/publish/005292d6-9dcc-4fc5-b50b-b2d0383a411b/image.jpg"
          }
        ]
      },
      "authors@odata.type": "#Collection(graph.Json)",
      "authors": [
        {
          "email": "Mail@onmicrosoft.com",
          "upn": "Mail@onmicrosoft.com",
          "id": "i:0#.f|membership|Mail@onmicrosoft.com",
          "name": "出戻り ガツオ"
        }
      ]
    }
  }
```

あらかた取得できますね。
このままPower AutomateのSharePointコネクタのアクションにつなげる場合は、`ItemId`が欲しいところです。
`パスによるファイル メタデータの取得`を使って、戻り値の`webUrl`属性を引数に使うと、取得できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/c6ae568b-c019-59c5-eb72-08247d7d847e.png)

こちらから既存とMixしてもいいかもしれませんね。

今回の紹介した方法は、下書き・発行前の状態でページが作成されるので、投稿されるときは
[SharePoint に HTTP 要求を送信](https://learn.microsoft.com/ja-jp/connectors/sharepointonline/?WT.mc_id=DX-MVP-5005281#http-%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88%E3%82%92-sharepoint-%E3%81%AB%E9%80%81%E4%BF%A1%E3%81%97%E3%81%BE%E3%81%99)アクションで、下記に`POST`メソッドで実行すると公開することができます。

```
_api/sitepages/pages('ItemId')/Publish
```

https://learn.microsoft.com/en-us/graph/api/sitepage-get?view=graph-rest-1.0&tabs=http


### 4. ページの削除
指定したSharePointサイトの`ページID`から、特定のページを削除します。
`3. 特定のページの取得`のメソッドを`DELETE`に変えるだけです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/7e21b77c-2db5-5358-7896-3ac1ebee2466.png)

Method - `DELETE`

```plaintext:URI
_api/v2.1/sites/{Host名}/pages/{page_id}
```

### 5. ページの編集
こちらの操作は、自分の知識の力不足で、[SharePointコネクタ](https://learn.microsoft.com/ja-jp/connectors/sharepointonline/?WT.mc_id=DX-MVP-5005281#http-%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88%E3%82%92-sharepoint-%E3%81%AB%E9%80%81%E4%BF%A1%E3%81%97%E3%81%BE%E3%81%99
)を用いて、実現できませんでした💦
やむなしで`HTTPコネクタ`で実装しています。

HTTPコネクタの認証周りの知識が特に疎いので参考になるリンクを、ひたすら載せておきます💦

https://michelcarlo.com/2023/09/01/using-the-http-with-azure-ad-connector-in-power-automate-to-create-planner-plans-and-add-them-as-teams-tabs/

https://powerusers.microsoft.com/t5/Webinars-and-Video-Gallery/How-to-use-Microsoft-Graph-API-in-Power-Automate-Beginner/td-p/1262540

https://jpdynamicscrm.github.io/blog/powerautomate/Graph-API/

https://pnp.github.io/blog/post/how-to-get-started-with-http-requests-in-power-automate/

セキュリティガバガバ思想で実装したものがコチラ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/e029342e-77d5-3153-94f0-d7c244f0a503.png)

Method - `POST`

```json:ヘッダー
{
  "Content-Type": "application/json"
}
```

```plaintext:URI
https://graph.microsoft.com/v1.0/sites/{site-id}/pages/{page-id}/microsoft.graph.sitePage
```

```json:ボディ
{
  "title": "sample",
  "showComments": true,
  "showRecommendedPages": false
}
```

文字通り`ページの編集`を実現できます。
一番需要ありそうだけど、これがハードル高い💦
数日格闘しました…、がSharePointコネクタでは実現ができていない状態です。

認証周りは、リンクを参考にしてください🙇

https://learn.microsoft.com/en-us/graph/api/sitepage-update?view=graph-rest-1.0&tabs=http

# おわりに
ページの更新が自由にできれば、所定のサイトから勝手に情報見てくれ！という運用もできそうですが、
現段階では活路が見えないです。

また未知の部分に入ると知識不足を痛感しますね💦

現状に満足なぞ到底できないので自己研鑽に励みたいと思います!!