Can you use OneDrive Graph API to Download files in bulk? - microsoft-graph-api

I am a Java application developer that wants to use Microsoft Graph API to download onedrive files.
Is there a OneDrive Graph API method that can download multiple files in bulk? Or are you forced to use a file-by-file download approach?
I've googled for a while now to see if I can find some answer to this. I did find: https://onedrive.uservoice.com/forums/262982-onedrive/suggestions/9255150-multiple-file-download-onedrive-for-business
Which states that you can actually use OneDrive web UI to download files in bulk.
But does it exist for API?

Related

Is that a way to get write permission to a single folder on OneDrive via Microsoft Graph API?

I need to upload files to a client's shared folder on OneDrive, however, there's no way I can get them to allow Files.WriteAll for my application (I'm using application permissions, not delegation) -- I've asked them. Is there another way to do that?
I have looked into multiple SO questions about this and on Microsoft's documentation, and I believe it is not possible, but I would like to know from people with more experience using Microsoft's service if it is indeed true.

Is it possible to give read permissions to users in sharepoint using Microsoft Graph

I'm using Microsoft Graph API to upload large files to sharepoint using createUploadSession endpoint.
Is there a way to give read permissions in upload process to a specific user or I have to use other endpoint for this?
Yes it is possible to manage and change permissions of SharePoint online using Microsoft Graph API EndPoints: link
Permissions are managed separately through MS Graph End Points designated for permissions: link
Another stackover article on the same with slight different issue: link

How to know which file I have shared in Microsoft graph

I am working on a project where users can share files with clients.
I am using Microsoft graph api for the project and using the below to share the files.
POST https://graph.microsoft.com/v1.0/me/drives/{drive-id}/items/{item-id}/invite
I know you you have the api sharedWithMe but this is not what I want.
I want to know if it is possible to know which files they have shared.
e.g like a sharedByMe api
GET https://graph.microsoft.com/v1.0/me/drive/sharedByMe

Checkin/Checkout a file using Microsoft Graph Client Library

I want to checkout/checkin a file on my OneDrive for Business using Microsoft Graph Client Library, I see the api calls for checkin/checkout
https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/driveitem_checkin
https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/driveitem_checkout
But I am unable to find a way to do the same via the library.
As Michael Mainer posted in comments, the latest Microsoft Graph client libraries just support the version 1.0 of the APIs. Meanwhile the API endpoint for check in file and check out file is only available on the beta.
If we want use these APIs, we can only complete the HTTP request by ourselves.
For more detail, you can find it in the issue on the GitHub.

How to get MIME type of the uploaded file in Microsoft Graph

While implementing file upload using Microsoft Graph API I faced the issue that once I upload file I don't get MIME type of it. I can't send it via API as well as it's not determined automatically. I use resumable upload API:
https://dev.onedrive.com/items/upload_large_files.htm
I was thinking about determining it from the name(extension part) on my side, when I get the name of the file, but I hope there is a better way to do this with OneDrive Microsoft Graph API.

Resources