Mr. Blond
Mr. Blond

Reputation: 1167

OAuth throws null reference exception

Lately the Nemiro.OAuth api is throwing null reference exceptions for some reason. After getting the lates versoin Nemiro.OAuth v1.12.0 and Nemiro.OAuth.loginForms v1.6.0 it started to behave like this, haven't changed my implemented logic in any way.

My file structure in dropbox:

https://www.dropbox.com/home/Apps/MyApplication/MyFolder/SubFolder/Some%20folder1/MyFiles

Old and new uri:

/MyFolder/SubFolder/Some folder1/MyFiles/somefile.png

When I call OAuthUtility.Post it shows following error message:

enter image description here

I'm using following logic to handle the request:

string oldUri = oldPath.ToUri();
string newUri = newPath.ToUri();

var paramCollection = new HttpParameterCollection
{
    {"access_token", ACCESS_TOKEN},
    {"from_path", oldUri },
    {"to_path", newUri },
    {"root","auto"}
};

OAuthUtility.Post
(
    "https://api.dropboxapi.com/1/fileops/move",
    paramCollection
);

I already checked that file exists in dropbox, my access token is valid, also, as you can see the path is correct..
Also it fails for other operations like https://content.dropboxapi.com/1/files_put/auto{0}/{1}

What could cause this? Could it be something with new Dropbox api V2?

Update

It actually works, but throws null reference exception at the same time.. That is pretty annoying, that means I need to wrap each operation in try catch block. Also, when I created new console application and executed the same code, it worked without any exceptions. Which means, something is wrong in my project.

Upvotes: 0

Views: 261

Answers (1)

Aleksey Nemiro
Aleksey Nemiro

Reputation: 86

0. Dropbox API v1 has been deprecated:

https://blogs.dropbox.com/developers/2016/06/api-v1-deprecated/

...In order to provide our developers with the most up-to-date features and support a single, consistent platform, we’ll be turning off API v1 a year from now, on 6/28/2017.

It remains approximately two months :-) I recommend switching to the new version of the API.

1. Do you pass the URI? But why are you doing this? Just use a string path relative to the root directory of the application. I tried to use a URI, this code does not work for me, the server returns an error 404.

I used relative paths and checked the code and do not see any problems. If possible, show the full code in which the problem occurs. Or you can send the project to me by email: aleksey.nemiroatgmail.com

Upvotes: 1

Related Questions