KoenZomers / OneDriveAPI

API in .NET Framework 4.8.0, .NET Core 3.1 and .NET 6.0 to communicate with OneDrive Personal and OneDrive for Business
Eclipse Public License 1.0
109 stars 34 forks source link

[BUG] InvalidOperationException when using the Copy method #24

Closed eirielson closed 3 years ago

eirielson commented 3 years ago

Describe the bug Hi, I'm trying to use Api's Copy method. But I am getting an InvalidOperationException. "An invalid request URI was provided. The request URI must either be an absolute URI or BaseAddress must be set."

To Reproduce Steps to reproduce the behavior:

  1. Go to 'Demo Application', run and click on the Authorize button
  2. Click on 'Copy' button
  3. See error
    at System.Net.Http.HttpClient.PrepareRequestMessage(HttpRequestMessage request)
    at System.Net.Http.HttpClient.SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
    at System.Net.Http.HttpClient.SendAsync(HttpRequestMessage request)
    at KoenZomers.OneDrive.Api.OneDriveApi.<SendMessageReturnHttpResponse>d__142.MoveNext() in D:\workspace\labs\OneDriveAPI\Api\OneDriveApi.cs:line 2015
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
    at KoenZomers.OneDrive.Api.OneDriveApi.<SendMessageReturnBool>d__141.MoveNext() in D:\workspace\labs\OneDriveAPI\Api\OneDriveApi.cs:line 1973
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
    at KoenZomers.OneDrive.Api.OneDriveGraphApi.<CopyItemInternal>d__60.MoveNext() in D:\workspace\labs\OneDriveAPI\Api\OneDriveGraphApi.cs:line 794
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
    at KoenZomers.OneDrive.Api.OneDriveApi.<Copy>d__86.MoveNext() in D:\workspace\labs\OneDriveAPI\Api\OneDriveApi.cs:line 704
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
    at KoenZomers.OneDrive.Api.OneDriveApi.<Copy>d__85.MoveNext() in D:\workspace\labs\OneDriveAPI\Api\OneDriveApi.cs:line 692
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
    at KoenZomers.OneDrive.AuthenticatorApp.MainForm.<CopyButton_Click>d__27.MoveNext() in D:\workspace\labs\OneDriveAPI\Demo\MainForm.cs:line 376

    ps: Create a file on the drive inside a "test"folder

Expected behavior The created file should be copied into the folder

Screenshots image image image

Versions (please complete the following information):

KoenZomers commented 3 years ago

Thanks for the extensive information @eirielson . I can reproduce this. Looking into it.

KoenZomers commented 3 years ago

Found it and fixed it. Releasing new version now.

KoenZomers commented 3 years ago

Released. https://www.nuget.org/packages/KoenZomers.OneDrive.Api/2.3.1.1

Closing this issue. If the problem persists for you using this new version, feel free to reopen.