private UploadSession CreateUploadSession(string userId, string itemPath) { try { var urlRoot = $"https://graph.microsoft.com/v1.0/"; var url = $"{urlRoot}/users/{userId}/drive/items/{itemPath}/createUploadSession"; var json = "{ \"@microsoft.graph.conflictBehavior\": \"rename\", \"name\": \"temp-large-file.dat\" }"; var buffer = System.Text.Encoding.UTF8.GetBytes(json); var byteContent = new ByteArrayContent(buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var response = _restClient.postResponse(url, byteContent); var responseBody = response.Content.ReadAsStringAsync().ConfigureAwait(false).GetAwaiter().GetResult(); var uploadSession = JsonConvert.DeserializeObject <UploadSession>(responseBody); return(uploadSession); } catch (ServiceException ex) { Console.Error.WriteLine(ex); } return(null); }