static void Main(string[] args) { Console.WriteLine("Initializing..."); List <Character> characters = new List <Character> { new Character { CharacterID = 0, //First character ID here RefreshToken = "--" //First character refresh token here }, new Character { CharacterID = 1, //Second character ID here RefreshToken = "--" //First character ID refresh token here } }; foreach (Character curChar in characters) { RefreshTokenRequestResult refreshToken = OAuth2.GetAccessToken(AuthenticationToken, curChar.RefreshToken); //get character info WebClient client = new WebClient(); client.Headers[HttpRequestHeader.Accept] = "application/json"; client.BaseAddress = "https://esi.evetech.net"; string result = client.DownloadString($"/latest/characters/{curChar.CharacterID}/?datasource=tranquility"); CharactersRequestResult charactersRequestResult = JsonConvert.DeserializeObject <CharactersRequestResult>(result); result = client.DownloadString($"/latest/corporations/{charactersRequestResult.corporation_id}/structures/?datasource=tranquility&language=en-us&page=1&token={refreshToken.access_token}"); List <StructuresRequestResult> structuresRequestResultList = JsonConvert.DeserializeObject <List <StructuresRequestResult> >(result); foreach (StructuresRequestResult structuresRequestResult in structuresRequestResultList) { result = client.DownloadString($"/latest/universe/structures/{structuresRequestResult.structure_id}/?datasource=tranquility&token={refreshToken.access_token}"); StructureRequestResult structureRequestResult = JsonConvert.DeserializeObject <StructureRequestResult>(result); Console.WriteLine(structureRequestResult.name); Console.WriteLine(structuresRequestResult.fuel_expires); Console.WriteLine(); } } Console.Write("Press any key to exit..."); Console.ReadKey(); }
public static RefreshTokenRequestResult GetAccessToken(string AuthenticationToken, string RefreshToken) { Console.Write("Requesting a new access token... "); RefreshTokenRequestResult refreshTokenRequestResult = new RefreshTokenRequestResult(); using (WebClient wc = new WebClient()) { string url = "https://login.eveonline.com/oauth/token"; wc.Headers[HttpRequestHeader.Authorization] = "Basic " + AuthenticationToken; var reqparm = new System.Collections.Specialized.NameValueCollection(); reqparm.Add("grant_type", "refresh_token"); reqparm.Add("refresh_token", RefreshToken); refreshTokenRequestResult = JsonConvert.DeserializeObject <RefreshTokenRequestResult>(Encoding.UTF8.GetString(wc.UploadValues(url, "POST", reqparm))); } Console.WriteLine("succes!"); return(refreshTokenRequestResult); }