📂

Microsoft Graph API で $expand したプロパティを $select する

に公開

Microsoft Graph API で特定のフォルダーとそのフォルダーに格納されているアイテムを取得したいときは $expand を使ってリクエストをまとめられます。

https://graph.microsoft.com/v1.0/me/drive/root?$expand=children

パフォーマンスの理由から Microsoft Graph API の呼び出しは $select を使って取得するプロパティを選択することが推奨されます。では $expand されたリソースのプロパティを $select したい場合はどうすればいいでしょうか。これに関しては Microsoft のドキュメントに記載があります。

https://learn.microsoft.com/ja-jp/graph/query-parameters?WT.mc_id=M365-MVP-5002941#expand-parameter

一部のリソース コレクションでは、 $select パラメーターを追加することで、展開されたリソースで返されるプロパティを指定することもできます。

例えば、フォルダーの ID と名前、その子アイテム ID と名前を取得したいときは以下のようなリクエストになります。

https://graph.microsoft.com/v1.0/me/drive/root$select=id,name&$expand=children($select=id,name)

SharePoint REST API では $expand=File&$select=File/Name のような指定をするので注意が必要です。

Discussion