c# - Error in dropNet's DropNetClient.GetAccessToken (Unhandled exception) -


i'm making dropbox downloader in .net , getting unhandled exception every time try run code. authenticated dropbox app.

here's code:

dropclient = new dropnetclient("xxxxxxxxxxxxx", "yyyyyyyyyyyyyy"); //btw in code have actual app key , secret dropclient.gettoken(); var accesstoken = dropclient.getaccesstoken(); dropclient.userlogin = new dropnet.models.userlogin { token = "myemail@gmail.com", secret = "mypass" }; 

the problem here you're not getting client credentials

here dropnet connection manager class

public class connectionmanager {     private dropnetclient _client;       public string getconnecturl(dropnetclient client, string callbackurl)     {         _client = client;          var url = _client.buildauthorizeurl(callbackurl);          return url;     }       public dropnetclient connect()     {         _client = new dropnetclient("token", "secret");          _client.gettoken();          return _client;     }       public dictionary<string, string> getaccesstoken(string tok, string secret)     {          _client = new dropnetclient("token", "secret", tok, secret);         var token = _client.getaccesstoken();         var dic = new dictionary<string, string> {{"token", token.token}, {"secret", token.secret}};         return dic;     }      public dropnetclient connect(tokenandsecretmodel model)     {          _client = new dropnetclient("token", "secret", model.token, model.secret);          var info = _client.accountinfo();          return _client;     }  } 

first call connect() getconnecturl(...) callback url needed know when call complete. redirect url returned, wait callback url receive response. when call getaccesstoken(token, secret) token , secret _client.userlogin.token , _client.userlogin.secret getaccesstoken return token , secret need save

to complete this, here controller

public class dropboxcontroller : controller {      private readonly icommandchannel _commandchannel;     private readonly iquerychannel _querychannel;     private readonly usermodel _user;      public dropboxcontroller(icommandchannel commandchannel, iquerychannel querychannel, usermodel user)     {         _commandchannel = commandchannel;         _querychannel = querychannel;         _user = user;     }     public actionresult index()     {         var con = new connectionmanager();         var dropclient = con.connect();         var callbackurl = request.url.scheme + "://" + request.url.authority + "/dropbox/callback";         var url = con.getconnecturl(dropclient, callbackurl);         _commandchannel.execute(new savedropboxtempsecuritycommand { authtoken = dropclient.userlogin.token, token = dropclient.userlogin.token, secret = dropclient.userlogin.secret });          return redirect(url);         //return view(new urlmodel {url = url});      }      [httpget]     public actionresult callback(string oauth_token)     {         tokenandsecretmodel model = _querychannel.execute(new getdropboxtemptokenquery{token = oauth_token});         var con = new connectionmanager();         var login = con.getaccesstoken(model.token, model.secret);         _commandchannel.execute(new savedropboxlogincommand{authtoken = oauth_token, login = login});         return view();     }   } public class urlmodel {     public string url { get; set; } } 

you can see persist temporary credentials database, if wanted save them session. hope helps.


Comments

Popular posts from this blog

node.js - Using Node without global install -

How to access a php class file from PHPFox framework into javascript code written in simple HTML file? -

java - Null response to php query in android, even though php works properly -