Power Automateをある程度使っていると、標準のアクションだけでは事足りないことがある。そんな時にGraph APIを使うことが多々あるのだが、標準よりもできることが沢山あったので、自分用にまとめた。
Graph API の使い方
SharePointでGraph APIを使うには「SharePointにHTTP要求を送信します」アクションを使っていく。
サイトのアドレスには対象SharePointやOneDriveのURLを指定。方法、URI、ヘッダー、ボディはリファレンスを参照しながら指定していく。
SharePoint API に変換
Graph APIのリファレンスにあるURIは、以下の通りSharePoint API用に変換する必要があるとのこと。
Graph URI | SharePoint URI |
---|---|
https://graph.microsoft.com/v1.0/sites | https://{tenant-name}.sharepoint.com/_api/v2.1/sites |
https://graph.microsoft.com/v1.0/drives | https://{tenant-name}.sharepoint.com/_api/v2.1/drives |
https://graph.microsoft.com/v1.0/drive | https://{tenant-name}.sharepoint.com/_api/v2.1/drive |
https://graph.microsoft.com/v1.0/lists | https://{tenant-name}.sharepoint.com/_api/v2.1/lists |
ざっくり説明するとGraph APIの「v1.0」を「_api/v2.1」に変換して、URIに指定すれば良い。
URI集
方法がPUT、POST、PATCHの場合は、ヘッダー、ボディの記述が必要なので、リファレンスを要確認。
https://learn.microsoft.com/ja-jp/graph/api/resources/site?view=graph-rest-1.0
サイト関連
概要 | 方法 | URI |
---|---|---|
サイト一覧を取得 | GET | _api/v2.1/sites |
サイトを取得 | GET | _api/v2.1/sites/root |
サイトを取得 | GET | _api/v2.1/sites/{site-id} |
サブサイト一覧を取得 | GET | _api/v2.1/sites/{site-id}/sites |
サイトのアクセス許可一覧を取得 | GET | _api/v2.1/sites/{sitesId}/permissions |
サイトのアクセス許可を取得 | GET | _api/v2.1/sites/{sitesId}/permissions/{permissionId} |
サイトのアクセス許可を追加 | POST | _api/v2.1/sites/{sitesId}/permissions/{permissionId} |
サイトのアクセス許可を更新 | PATCH | _api/v2.1/sites/{sitesId}/permissions/{permissionId} |
サイトのアクセス許可を削除 | DELETE | _api/v2.1/sites/{sitesId}/permissions/{permissionId} |
リスト関連
概要 | 方法 | URI |
---|---|---|
リスト一覧を取得 | GET | _api/v2.1/lists |
リストを作成 | POST | _api/v2.1/lists |
リストを取得 | GET | _api/v2.1/lists/{list-title} |
リストを取得 | GET | _api/v2.1/lists/{list-id} |
アイテム一覧を取得 | GET | _api/v2.1/lists/{list-id}/items |
アイテムを作成 | POST | _api/v2.1/lists/{list-id}/items |
アイテムを取得 | GET | _api/v2.1/lists/{list-id}/items/{item-id} |
アイテムを更新 | PATCH | _api/v2.1/lists/{list-id}/items/{item-id} |
アイテムを削除 | DELETE | _api/v2.1/lists/{list-id}/items/{item-id} |
列一覧を取得 | GET | _api/v2.1/lists/{list-id}/columns |
列を作成 | POST | _api/v2.1/lists/{list-id}/columns |
列を更新 | PATCH | _api/v2.1/lists/{list-id}/columns |
列を削除 | DELETE | _api/v2.1/lists/{list-id}/columns |
ドキュメントライブラリ関連
概要 | 方法 | URI |
---|---|---|
規定ライブラリを取得 | GET | _api/v2.1/drive |
ライブラリ一覧を取得 | GET | _api/v2.1/drives |
アイテムを取得 | GET | _api/v2.1/drive/items/{item-id} |
アイテムを取得 | GET | _api/v2.1/drive/root:/{item-path} |
アクセス許可一覧を取得 | GET | _api/v2.1/drive/items/{itemId}/permissions |
アクセス許可を取得 | GET | _api/v2.1/drive/items/{itemId}/permissions/{perm-id} |
アクセス許可を更新 | PATCH | _api/v2.1/drive/items/{itemId}/permissions/{perm-id} |
アクセス許可を削除 | DELETE | _api/v2.1/drive/items/{itemId}/permissions/{perm-id} |
アクセス許可を追加 | POST | _api/v2.1/drive/items/{itemId}/invite |
リファレンス
Microsoft Graph REST API v1.0 エンドポイント リファレンス - Microsoft Graph v1.0 | Microsoft Learn
https://learn.microsoft.com/ja-jp/graph/api/overview?view=graph-rest-1.0