private void Instance_AuthorizationRegistredEvent(UserModel userModel, UserSettingsModel userSettingsModel) { if (ServiceExists(userModel.UserId.ToString())) { return; } var token = new TokenResponse { RefreshToken = userModel.RefreshToken, AccessToken = userModel.AccessToken, ExpiresInSeconds = userModel.ExpiresIn, TokenType = userModel.TokenType, IssuedUtc = userModel.IssuedTimeUtc }; var credentials = new BotUserCredential(new GoogleAuthorizationCodeFlow( new GoogleAuthorizationCodeFlow.Initializer { ClientSecrets = _clientSecrets, Scopes = UserAccessAttribute.GetScopesValue(userSettingsModel.Access), DataStore = new DbDataStore() }), userModel, token); var serviceInitializer = new BaseClientService.Initializer { ApiKey = BotInitializer.Instance.BotSettings.GmnbApiKey, ApplicationName = BotInitializer.Instance.BotSettings.ApplicationName, HttpClientInitializer = credentials }; ServiceCollection.Add(new Service(credentials, serviceInitializer, userSettingsModel.Access)); }
public Service(BotUserCredential userCredential, BaseClientService.Initializer initializer, string userAccess) { UserCredential = userCredential; GmailService = new GmailService(initializer); Oauth2Service = new Oauth2Service(initializer); UserAccess = userAccess; }