0
votes

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!

1
Try something like https://graph.microsoft.com/v1.0/sites/site.sharepoint.com,<id>,<id>/drives/driveid/root/childrenShiva Keshav Varma
Awesome that worked - thank you very much!Schutt
If my answer is helpful, please accept it so that it would be helpful to others who look for the same issue.Shiva Keshav Varma

1 Answers

1
votes

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.