예제 #1
0
        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));
        }
예제 #2
0
 public Service(BotUserCredential userCredential, BaseClientService.Initializer initializer, string userAccess)
 {
     UserCredential = userCredential;
     GmailService   = new GmailService(initializer);
     Oauth2Service  = new Oauth2Service(initializer);
     UserAccess     = userAccess;
 }