/// <summary> /// Metoda asynchroniczna, która uzyskuje dostep do kalendarza (użytkownika). /// Następnie zachowuje te dane do pliku "user_email" /// </summary> /// <returns></returns> public void AuthorizeTask() { Logs.WriteErrorLog("Autoryzuje uzytkownika"); var gToken = GetTokenFromWebService.GetTokenFromDatabase(UserIdInDatabase).Result; if (gToken == null) { Logs.WriteErrorLog("Uzytkownik bez Google Tokenu. Wychodze z autoryzacji i lece dalej"); return; } Logs.WriteErrorLog(gToken + " to jest token."); //Logs.WriteErrorLog("Token z bazy: " + Token.RefreshToken); SetUserCalendarAuthData(); //Autoryzacja kalendarza przez wywołanie klienta połączenia HTTP. Logs.WriteErrorLog("Po SetUserCalendarAuthData"); Logs.WriteErrorLog("flow: " + Flow.RevokeTokenUrl.ToString()); Logs.WriteErrorLog("CalendarId: " + CalendarId); //if (Token.AccessToken != null) Logs.WriteErrorLog("Token: " + Token.AccessToken); Credential = new UserCredential(Flow, CalendarId, Token); Logs.WriteErrorLog("Jestem za przypisaniem Credential"); Service = new CalendarService(new BaseClientService.Initializer() { HttpClientInitializer = Credential, ApplicationName = "Fast and Easy Reservation System", }); Logs.WriteErrorLog("Stworzylem Service."); }
/// <summary> /// Metoda wypełniająca wszystkie niezbędne dane do autoryzacji w usłudze Google Calendar. /// </summary> private bool SetUserCalendarAuthData() { Logs.WriteErrorLog("SetUserCalendarAuthData"); Logs.WriteErrorLog("ClientCredentials.ClientId: " + ClientCredentials.ClientId.ToString() + "ClientCredentials.ClientSecret: " + ClientCredentials.ClientSecret); Flow = new GoogleAuthorizationCodeFlow( new GoogleAuthorizationCodeFlow.Initializer { ClientSecrets = new ClientSecrets() { ClientId = ClientCredentials.ClientId, ClientSecret = ClientCredentials.ClientSecret } }); Logs.WriteErrorLog("UserIdInDatabase: "); Logs.WriteErrorLog(UserIdInDatabase.ToString()); var tokenFromWs = GetTokenFromWebService.GetTokenFromDatabase(UserIdInDatabase).Result; if (tokenFromWs == null) { IsCalendarAuthorized = false; return(false); } Token = new TokenResponse { RefreshToken = tokenFromWs }; IsCalendarAuthorized = true; return(true); }