public string AuthenticateUser(Login login, bool mfa) { string accessToken = string.Empty; using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri("https://api.robinhood.com/"); var parameters = new Dictionary <string, string> { { "grant_type", "password" }, { "client_id", "c82SH0WZOsabOXGP2sxqcj34FxkvfnWRZBKlBjFS" }, { "username", login.username }, { "password", login.password } }; var toPost = new FormUrlEncodedContent(parameters); var response = client.PostAsync("oauth2/token/", toPost).Result; var content = response.Content.ReadAsStringAsync().Result; if (!mfa) { accessToken = JsonParse.ParseAccessToken(content); login.refreshToken = JsonParse.ParseRefreshToken(content); SaveAccessTokenAndTimeStamp(accessToken, login.refreshToken); } } return(accessToken); }
public InstrumentData InstrumentsBySymbol(string symbol) { var find = new Dictionary <string, string>() { { "query", symbol } }; return(JsonParse.ParseInstrumentBySymbol(RHttpClient.RHttpClientGetParams("/instruments/", find))); }
public InstrumentData[] InstrumentsByKeyWord(string keyword) { var find = new Dictionary <string, string>() { { "query", keyword } }; return(JsonParse.ParseInstrument(RHttpClient.RHttpClientGetParams("/instruments/", find))); }
public Movers[] GetMoversDown() { Dictionary <string, string> movers = new Dictionary <string, string> { { "direction", "down" } }; return(JsonParse.ParseMovers(RHttpClient.RHttpClientGetParams("/midlands/movers/sp500/", movers))); }
public QuoteData GatherData(string symbol) { string content = string.Empty; using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(Endpoints.baseurl); content = client.GetAsync("/quotes/" + symbol + "/").Result.Content.ReadAsStringAsync().Result; } return(JsonParse.ParseQuote(content)); }
public FundamentalData[] GatherMultipleFundamentalBySymbol(string[] symbols) { string[] content = new string[symbols.Length]; FundamentalData[] fundamentalData = new FundamentalData[symbols.Length]; for (int i = 0; i < symbols.Length; i++) { content[i] = RHttpClient.RHttpClientGet("/fundamentals/" + symbols[i] + "/"); fundamentalData[i] = JsonParse.ParseFundament(content[i]); } return(fundamentalData); }
public QuoteData[] GatherMultipleData(string[] symbols) { string[] data = new string[symbols.Length]; QuoteData[] quoteData = new QuoteData[data.Length]; using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(Endpoints.baseurl); for (int i = 0; i < symbols.Length; i++) { data[i] = client.GetAsync("/quotes/" + symbols[i] + "/").Result.Content.ReadAsStringAsync().Result; } } for (int i = 0; i < data.Length; i++) { quoteData[i] = JsonParse.ParseQuote(data[i]); } return(quoteData); }
public string CheckRefreshToken(Login login) { //If expired, we are gonna use refresh token to get a new access token if (DateTimeOffset.Now.ToUnixTimeSeconds() > login.TokenExpired) { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri("https://api.robinhood.com/"); var parameters = new Dictionary <string, string> { { "grant_type", "refresh_token" }, { "client_id", "c82SH0WZOsabOXGP2sxqcj34FxkvfnWRZBKlBjFS" }, { "refresh_token", login.refreshToken } }; var toPost = new FormUrlEncodedContent(parameters); var content = client.PostAsync("oauth2/token/", toPost).Result.Content.ReadAsStringAsync().Result; login.AccessToken = JsonParse.ParseAccessToken(content); login.refreshToken = JsonParse.ParseRefreshToken(content); } SaveAccessTokenAndTimeStamp(login.AccessToken, login.refreshToken); return("New Token Aquired"); } return("Token not expired"); }
public InvestmentProfileData GatherInvestmentProfile(string accessToken) { return(JsonParse.ParseInvestmentProfile(RHttpClient.RHttpClientGetWithAuthenticationHeader("/user/investment_profile/", accessToken))); }
public MarginBalances GatherMarginBalances(string accessToken) { return(JsonParse.ParseMarginBalances(RHttpClient.RHttpClientGetWithAuthenticationHeader("/accounts/", accessToken))); }
public Employment GatherEmploymentData(string accessToken) { return(JsonParse.ParseEmployment(RHttpClient.RHttpClientGetWithAuthenticationHeader("/user/employment/", accessToken))); }
public AccountAffiliationInfo GatherAccountHolderAffliationInfo(string accessToken) { return(JsonParse.ParseAccountAffiliationInfo(RHttpClient.RHttpClientGetWithAuthenticationHeader("/user/additional_info/", accessToken))); }
public InstrumentData InstrumentsByID(string id) { return(JsonParse.ParseInstrumentByID(RHttpClient.RHttpClientGet("/instruments/" + id + "/"))); }
public Portfolio GatherAccountPortfolio(string accessToken) { return(JsonParse.ParseAccountPortfolio(RHttpClient.RHttpClientGetWithAuthenticationHeader("/portfolios/", accessToken))); }
//Is not available on server public string[] Get10MostPopular() { return(JsonParse.ParsePopular(RHttpClient.RHttpClientGet("/midlands/tags/tag/10-most-popular/"), 10)); }
public SplitData GatherSplitHistoryForInstrumentSpecified(string splitId) { return(JsonParse.ParseSplitHistorySingle(RHttpClient.RHttpClientGet(splitId.Replace("https://api.robinhood.com", "")))); }
public SplitData[] GatherSplitHistoryForInstrument(string id) { return(JsonParse.ParseSplitHistory(RHttpClient.RHttpClientGet("/instruments/" + id + "/splits/"))); }
//For the next value public InstrumentData[] AllInstruments(string next) { return(JsonParse.ParseAllInstruments(RHttpClient.RHttpClientGet(next))); }
public InstrumentData[] AllInstruments() { return(JsonParse.ParseAllInstruments(RHttpClient.RHttpClientGet("/instruments/"))); }
public InstrumentData InstrumentsByIDTrim(string id) { return(JsonParse.ParseInstrumentByID(RHttpClient.RHttpClientGet("/instruments/" + id.Replace("https://api.robinhood.com/instruments/", "")))); }
public AccountPosition[] GatherAccountPositions(string accessToken) { return(JsonParse.ParseAccountPosition(RHttpClient.RHttpClientGetWithAuthenticationHeader("/positions/", accessToken))); }
public Dividends[] GatherAccountDividends(string accessToken) { return(JsonParse.ParseAccountDividends(RHttpClient.RHttpClientGetWithAuthenticationHeader("/dividends/", accessToken))); }
public AccountListKeys GatherListofAccounts(string accessToken) { return(JsonParse.ParseListAccounts(RHttpClient.RHttpClientGetWithAuthenticationHeader("/accounts/", accessToken))); }
public AccountBasicInfo GatherBasicInfo(string accessToken) { return(JsonParse.ParseAccountBasicInfo(RHttpClient.RHttpClientGetWithAuthenticationHeader("/user/basic_info/", accessToken))); }
public AccountID GatherAccountID(string accessToken) { return(JsonParse.ParseAccountID(RHttpClient.RHttpClientGetWithAuthenticationHeader("/user/id/", accessToken))); }
public SplitData GatherSplitHistoryForInstrumentSpecified(string id, string splitId) { return(JsonParse.ParseSplitHistorySingle(RHttpClient.RHttpClientGet("/instruments/" + id + "/splits/" + splitId + '/'))); }
public QuoteHistory[] GatherHistoryQuotes(string symbol, Dictionary <string, string> parameters) { return(JsonParse.ParseQuoteHistory(RHttpClient.RHttpClientGetParams("/quotes/historicals/" + symbol + "/", parameters))); }