コード例 #1
0
        private void AccessStateReadDisk()
        {
            var bSuccess = DiskManager.DeserializeAuthInfoFromDisk(ref authInfo);

            if (!bSuccess)
            {
                m_eAccessState = AccessState.GET_AUTH;
                return;
            }

            if (bSuccess && string.Equals(authInfo.refresh_token, ""))
            {
                m_eAccessState = AccessState.GET_AUTH;
                return;
            }

            if (bSuccess && DateTimeOffset.Now.ToUnixTimeSeconds() < authInfo.expiry_time)
            {
                accessCodeIsValid = true;
                m_eAccessState    = AccessState.WAIT_SLEEP;
            }


            if (bSuccess && DateTimeOffset.Now.ToUnixTimeSeconds() >= authInfo.expiry_time)
            {
                m_eAccessState = AccessState.RENEW_ACCESS;
            }
        }
コード例 #2
0
        private static void RenewAccessToken()
        {
            Console.WriteLine("AccessManager: Renewing Access Token");
            var client  = new RestClient("https://login.eveonline.com");
            var request = new RestRequest("/oauth/token", Method.POST);

            var body = new
            {
                grant_type    = "refresh_token",
                refresh_token = authInfo.refresh_token
            };

            var    encodeBytes = System.Text.Encoding.UTF8.GetBytes(Constants.ClientID + ":" + Constants.SecretKey);
            string header      = "Basic " + System.Convert.ToBase64String(encodeBytes);

            string json_body = JsonConvert.SerializeObject(body);

            request.AddHeader("Authorization", header);
            request.AddParameter("application/json", json_body, ParameterType.RequestBody);
            request.AddParameter("Content-Type", "application/json");
            var response = client.Post(request);
            var content  = response.Content;

            authInfo = JsonConvert.DeserializeObject <AuthInfo>(content);

            m_eAccessState       = AccessState.WAIT_SLEEP;
            accessCodeIsValid    = true;
            authInfo.expiry_time = authInfo.expires_in + DateTimeOffset.Now.ToUnixTimeSeconds();
            DiskManager.SerializeAuthInfoToDisk(authInfo);
        }
コード例 #3
0
        private void ExportStateGetTypeInfo()
        {
            m_dicItemDictionary = DiskManager.DeserializeTypesFromDisk();
            bool saveToDisk = false;

            foreach (var item in m_vExportItems)
            {
                // If we don't have the item information saved to disk, fetch it.
                if (!m_dicItemDictionary.ContainsKey(item.type_id))
                {
                    var itemInfo = RequestManager.GetTypeInfo(AccessManager.authInfo, item.type_id);
                    m_dicItemDictionary.Add(item.type_id, itemInfo);
                    saveToDisk = true;
                }
            }

            if (saveToDisk)
            {
                DiskManager.SerializeTypesToDisk(m_dicItemDictionary);
            }

            m_eExportState = ExportState.PRINT_RESULTS;
        }