Reputation: 33
I'm trying to download a SharePoint file from the MS Graph /drive/items/xxxx
API endpoint. The link I have is in the format https://company-my.sharepoint.com/personal/drive_name/_layouts/15/WopiFrame.aspx?sourcedoc=%7B<GUID>%7D
, but the graph API needs some other OneDrive file ID to successfully fetch file metadata.
I have the correct permission scopes, and if I enumerate drive contents I can see the file there.
Is there any way to convert the sourcedoc
guid into what is required by the API, or alternatively get file metadata by SharePoint guid?
Upvotes: 3
Views: 2422
Reputation: 4192
what you're after is the Shares API. Given a URL like the one you used in your example you need to convert it to a share id
value using this algorithm.
So for your example the id be:
u!aHR0cHM6Ly9jb21wYW55LW15LnNoYXJlcG9pbnQuY29tL3BlcnNvbmFsL2RyaXZlX25hbWUvX2xheW91dHMvMTUvV29waUZyYW1lLmFzcHg_c291cmNlZG9jPSU3QjxHVUlEPiU3RA
With this value you can then query the item's metadata using:
https://graph.microsoft.com/v1.0/shares/u!aHR0cHM6Ly9jb21wYW55LW15LnNoYXJlcG9pbnQuY29tL3BlcnNvbmFsL2RyaXZlX25hbWUvX2xheW91dHMvMTUvV29waUZyYW1lLmFzcHg_c291cmNlZG9jPSU3QjxHVUlEPiU3RA/root
Upvotes: 2