📁

Microsoft Graph でファイルやフォルダーの URL から DriveItem を取得する

に公開

Microsoft Graph でファイルやフォルダーの URL から DriveItem を取得するには、以下のエンドポイントを使用します。

https://graph.microsoft.com/v1.0/drives/{{drive-id}}/root:/{{item-path}}

https://docs.microsoft.com/ja-jp/graph/api/driveitem-get?WT.mc_id=M365-MVP-5002941

ただし、この方法では最初に Drive の ID を取得する必要があり、DriveItem のパスも Drive のルートからのパスで指定する必要があります。そのため、使い勝手があまり良くありません。SharePoint REST API の GetFileByServerRelativeUrl または GetFolderByServerRelativeUrl と同じようなことを実現できません。

共有リンクの API を利用することでこれに近いことが実現可能です。

https://stackoverflow.com/questions/51493302

この方法では、URL は絶対 URL である必要があり、URL のエンコードも必要です。しかし、Drive を取得する方法よりもはるかに便利です。共有リンクでなくても共有リンクの API を利用できる点は少しトリッキーですが、ぜひ覚えておきたい方法です。

Discussion