Beispiel #1
0
 public void GetNewToken(string nestPIN)
 {
     if (string.IsNullOrWhiteSpace(nestPIN))
     {
         return;
     }
     using (WebClient authClient = new WebClient())
     {
         authClient.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
         string uri = string.Format("https://api.home.nest.com/oauth2/access_token?client_id={0}&client_secret={1}&code={2}&grant_type=authorization_code",
                                    ConfigurationManager.AppSettings["Nest_Product_ID"],     //Must exist in app settings.
                                    ConfigurationManager.AppSettings["Nest_Product_Secret"], //Must exist in app settings.
                                    nestPIN);
         string data   = string.Format("");
         string result = authClient.UploadString(uri, data);
         Console.WriteLine("Result: " + result);
         NestTokenModel tokenResult = JsonConvert.DeserializeObject <NestTokenModel>(result);
         tokenResult.timestamp = DateTimeOffset.UtcNow;
         string tokenJson = JsonConvert.SerializeObject(tokenResult);
         Console.WriteLine("Reserialized: " + result);
         Properties.Settings.Default.NestTokenJson = tokenJson;
         Properties.Settings.Default.Save();
         GetLocalToken();
         Console.WriteLine("Saved");
     }
 }
Beispiel #2
0
        public string GetLocalToken()
        {
            string tokenJson = Properties.Settings.Default.NestTokenJson;

            if (string.IsNullOrWhiteSpace(tokenJson))
            {
                Console.WriteLine("null local token");
                return(null);
            }
            else
            {
                //Console.WriteLine("local token json: " + tokenJson);
                NestTokenModel model = JsonConvert.DeserializeObject <NestTokenModel>(tokenJson);
                //Console.WriteLine("local token:" + model.access_token);
                return(model.access_token);
            }
        }