Schutt
Schutt

Reputation: 1134

Microsoft Graph API - get drive "Url specified is invalid."

I am facing a weird issue with microsoft's graph api. I am trying to retrieve files stored on Sharepoint. I don't know what the issue is and I have tried a lot of different things:

Call to get all drives for the site works and returns a list of all available drives:

GET https://graph.microsoft.com/v1.0/sites/site.sharepoint.com,<id>,<id>:/teams/myTeam:/drives

Via the previous endpoint I can extract the id for that drive with which I would then like to retrieve drive details (and in consequence all children of that drive):

GET https://graph.microsoft.com/v1.0/sites/site.sharepoint.com,<id>,<id>:/teams/myTeam:/drives/<driveId>
GET https://graph.microsoft.com/v1.0/sites/site.sharepoint.com,<id>,<id>:/teams/myTeam:/drives/<driveId>/root
GET https://graph.microsoft.com/v1.0/sites/site.sharepoint.com,<id>,<id>:/teams/myTeam:/drives/<driveId>/root/children

But all 3 above endpoints throw a 400 Bad Request Error with message: Url specified is invalid.

Additional information: My access token has the following scopes: Sites.FullControl.All User.Read profile openid email

I am able to retrieve an individual drive item through the list endpoints (but the folder structure is quite complex and I need to list several layers of folders/files - this is why I believe the syntax with drive would be a lot more convenient):

GET https://graph.microsoft.com/v1.0/sites/site.sharepoint.com,<id>,<id>:/teams/myTeam:/lists/<list-id>/items/<item-id>/driveItem

via the field parentReference I am also able to fetch the driveId and even the relative path (/drives/<drive-id>/root:) but I also have no idea how I would get the content from that.

Help is greatly appreciated as I have been stuck for a long time now - thank you!

Upvotes: 0

Views: 1184

Answers (1)

Shiva Keshav Varma
Shiva Keshav Varma

Reputation: 3595

Try with the below HTTP call.

https://graph.microsoft.com/v1.0/sites/site.sharepoint.com,<id>,<id>/drives/driveid/root/children

It worked for me.

Upvotes: 2

Related Questions