示例#1
0
 public GoogleSheetService(GoogleSheetSettings settings, EventHubService eventHubService, ILogger <GoogleSheetService> logger)
 {
     _logger           = logger;
     _eventHubService  = eventHubService;
     _settings         = settings;
     _previousRowCount = -1;
     Start();
 }
示例#2
0
        public async Task <IList <InstagramUser> > GetUserProfilesAsync(GoogleSheetSettings sheetSettings)
        {
            var sheetValues = await _sheetDao.GetSheetData(sheetSettings);

            IList <InstagramUser> instagramUsers = new List <InstagramUser>();

            foreach (var row in sheetValues)
            {
                var value = row.FirstOrDefault();

                instagramUsers.Add(new InstagramUser(value.ToString()));
            }

            return(instagramUsers);
        }
        public async Task <IList <IList <object> > > GetSheetData(GoogleSheetSettings sheetSettings)
        {
            // How values should be represented in the output.
            // The default render option is ValueRenderOption.FORMATTED_VALUE.
            SpreadsheetsResource.ValuesResource.GetRequest.ValueRenderOptionEnum valueRenderOption = (SpreadsheetsResource.ValuesResource.GetRequest.ValueRenderOptionEnum) 0;  // TODO: Update placeholder value.

            // How dates, times, and durations should be represented in the output.
            // This is ignored if value_render_option is
            // FORMATTED_VALUE.
            // The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].
            SpreadsheetsResource.ValuesResource.GetRequest.DateTimeRenderOptionEnum dateTimeRenderOption = (SpreadsheetsResource.ValuesResource.GetRequest.DateTimeRenderOptionEnum) 0;  // TODO: Update placeholder value.

            SpreadsheetsResource.ValuesResource.GetRequest request = _sheetsService.Spreadsheets.Values.Get(sheetSettings.SheetId, sheetSettings.Range);
            request.ValueRenderOption    = valueRenderOption;
            request.DateTimeRenderOption = dateTimeRenderOption;

            var response = await request.ExecuteAsync();

            return(response.Values);
        }
        public async Task CommentUsersProfileInPromotion(GoogleSheetSettings sheetSettings)
        {
            var users = await _sheetService.GetUserProfilesAsync(sheetSettings);

            try
            {
                _instagramService.FactoryDriver();

                _instagramService.InstagramLogin();

                if (_instagramService.IsLoggedInInstagram())
                {
                    _instagramService.EnterPromotion();

                    _instagramService.PublishCommentUsersProfile(users);
                }
            }
            finally
            {
                _instagramService.CloseDisposeDriver();
            }
        }
 public SpreadSheetAdapter(GoogleSheetSettings googleSheetSettings)
 {
     spreadSheetId = googleSheetSettings.SpreadSheetId;
 }