public async Task <bool> RequestAccessToken(String code)
        {
            try
            {
                var dic = new Dictionary <String, String>();
                dic["grant_type"]    = "authorization_code";
                dic["client_id"]     = ConsumerKey;
                dic["client_secret"] = ConsumerSecret;
                dic["redirect_uri"]  = "com.playstation.PlayStationApp://redirect";
                dic["state"]         = "x";
                dic["scope"]         = "psn:sceapp";
                dic["code"]          = code;
                var theAuthClient = new HttpClient();
                var header        = new FormUrlEncodedContent(dic);
                var response      = await theAuthClient.PostAsync(OauthToken, header);

                string responseContent = await response.Content.ReadAsStringAsync();

                if (string.IsNullOrEmpty(responseContent))
                {
                    return(false);
                }
                UserAuthenticationEntity authEntity = UserAuthenticationEntity.Parse(responseContent);
                if (!_appSettings.Any())
                {
                    _appSettings.Add("accessToken", authEntity.AccessToken);
                }
                else
                {
                    _appSettings["accessToken"] = authEntity.AccessToken;
                }

                if (!_appSettings.Any())
                {
                    _appSettings.Add("refreshToken", authEntity.RefreshToken);
                }
                else
                {
                    _appSettings["refreshToken"] = authEntity.RefreshToken;
                }

                _appSettings.Save();
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }