💻

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

2022/01/20に公開

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