public DropboxProvider(CloudToken token) { client = new DropNetClient(apiKey: API_KEY, appSecret: APP_SECRET); client.UseSandbox = true; if (token.Secret != string.Empty || token.Token != string.Empty) { var accessToken = new UserLogin { Secret = token.Secret, Token = token.Token }; client.SetUserToken(accessToken); } }
/// <summary> /// Gets an authorize url for the current UserLogin (after getting a Request Token) /// </summary> /// <param name="userLogin"></param> /// <param name="callback"></param> /// <returns></returns> public string BuildAuthorizeUrl(UserLogin userLogin, string callback = null) { if (userLogin == null) { throw new ArgumentNullException("userLogin"); } //Go 1-Liner! return string.Format("https://www.dropbox.com/1/oauth/authorize?oauth_token={0}{1}", userLogin.Token, (string.IsNullOrEmpty(callback) ? string.Empty : "&oauth_callback=" + callback)); }
/// <summary> /// Sets a UserLogin (Token and Secret) for the current client /// </summary> /// <param name="userLogin"></param> public void SetUserToken(UserLogin userLogin) { UserLogin = userLogin; if (_oauthHandler != null) //not sure when this would ever be null { if (userLogin == null) //logout { _oauthHandler.UserToken = string.Empty; _oauthHandler.UserSecret = string.Empty; } else { _oauthHandler.UserToken = userLogin.Token; _oauthHandler.UserSecret = userLogin.Secret; } } }
/// <summary> /// Reads the auth response parameters and creates a UserLogin object from it /// </summary> /// <param name="urlParams"></param> /// <returns></returns> protected UserLogin GetUserLoginFromParams(string urlParams) { var userLogin = new UserLogin(); var parameters = urlParams.Split('&'); foreach (var parameter in parameters) { if (parameter.Split('=')[0] == "oauth_token_secret") { userLogin.Secret = parameter.Split('=')[1]; } else if (parameter.Split('=')[0] == "oauth_token") { userLogin.Token = parameter.Split('=')[1]; } } return userLogin; }
public DropboxConnection(UserLogin userLogin) { _dropboxClient = DropboxUserPermission.GetAuthenticatedClient(userLogin); }
public static DropNetClient GetAuthenticatedClient(UserLogin login) { return new DropNetClient(AppKey, AppSecret, login.Token, login.Secret); }