Issue moving DriveItem to M365 Drive in a sub-site fails with “Requested move requires an async response” error

Eli Jones 1 Reputation point

I am trying to move a DriveItem located in the root Web of an M365 site to a sub-web of the same site -

Source Web: - List: Documents

Destination Web: - List: Documents

The code doing the move with the Graph API SDK v3.25.0:

var client = GetGraphClient();

var destDriveItem = new DriveItem
   ParentReference = new ItemReference
      DriveId = destDriveID,
      Id = destDriveFolderID

var response = await client.Drives[driveID].Items[sourceDriveItemID].Request()

All IDs are valid. When UpdateAsync is finished, I get this error:

ServiceException: Code: invalidRequest
Message: Requested move requires an async response, add 'Prefer: respond-async' to allow
Inner error:
date: 2021-03-04T15:44:38
request-id: 2aa656e2-fc4b-4314-846b-b62680a15ece
client-request-id: 2aa656e2-fc4b-4314-846b-b62680a15ece
ClientRequestId: 2aa656e2-fc4b-4314-846b-b62680a15ece

at Microsoft.Graph.HttpProvider.SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
at Microsoft.Graph.BaseRequest.SendRequestAsync(Object serializableObject, CancellationToken cancellationToken, HttpCompletionOption completionOption)
at Microsoft.Graph.BaseRequest.SendAsync[T](Object serializableObject, CancellationToken cancellationToken, HttpCompletionOption completionOption)
at Microsoft.Graph.DriveItemRequest.UpdateAsync(DriveItem driveItemToUpdate, CancellationToken cancellationToken)
at GraphToM365Test.Program.MoveDriveItemToDestinationAndBack(String sourceDriveItemId) in C:\Dev\StratusApps\GraphToM365Test\GraphToM365Test\Program.cs:line 166
at GraphToM365Test.Program.MainAsync(String[] args) in C:\Dev\StratusApps\GraphToM365Test\GraphToM365Test\Program.cs:line 62

The same code works if I move the DriveItem between two Drives (Document Libraries) in the same site. The issue is probably related to this GitHub issue (although that is for moving in the same Web):

Microsoft Graph
Microsoft Graph
A Microsoft programmability model that exposes REST APIs and client libraries to access data on Microsoft 365 services.
11,418 questions
A group of Microsoft Products and technologies used for sharing and managing content, knowledge, and applications.
10,258 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Amos Wu-MSFT 4,051 Reputation points

    According to the documentation, Items cannot be moved between Drives using this request.

    If the response is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.