/// Create an authorization URL you can include in a login button /// /// @param string domain Domain of the API, e.g. "dropbox.com" /// @param string redirect_url Url where user is redirected after authorization, must match URL defined in API developer console /// @param string state Random state to match session and user in finalization /// @returns Authorization URL /// public static string createAuthorizationUrl(string domain, string redirect_url, string state) { CloudApi api = getByDomain(domain); if (api != null) { return(api._createAuthorizationUrl(redirect_url, state)); } return(null); }
/// Finalize authorization by passing the redirection url to get a CloudApi (and CloudAccount) /// /// @param string url URL and parameters user was redirected to /// @returns CloudApi instance /// public static CloudApi finalizeAuthorization(string url) { CloudApi api = getByDomain(Utils.stringFindUrlValue(url, "domain")); if (api != null && api._finalizeAuthorization(url)) { return(api); } else { return(null); } }
/// CloudAccount constructor from the account elements /// /// @param string domain Domain of account /// @param string access_token OAuth access token /// @param string id API internal user id /// @param string email User email address /// @param string name User name /// public CloudAccount(string domain, string id, string access_token, string email = "", string name = "") { if (Utils.stringIsEmpty(domain) || Utils.stringIsEmpty(access_token) || Utils.stringIsEmpty(id)) { throw new Exception("Invalid elements for a CloudApiAccount!"); } Domain = domain; Token = access_token; Id = id; Email = email; Name = name; Api = CloudApi.getByDomain(Domain); if (Api == null) { throw new Exception("Invalid CloudApi domain '" + Domain + "'!"); } Api.Account = this; }