📂

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