示例#1
0
        public async void GetItems()
        {
            string appId              = "248058472262288";
            string appSecret          = "d74d68d717ff1a0c45dc3fbad0899d26";
            string FacebookQueryParam = "625038207649339";
            int    MaxRecordsParam    = 20;

            Items.Clear();

            _facebookDataProvider = new FacebookDataProvider(new FacebookOAuthTokens {
                AppId = appId, AppSecret = appSecret
            });
            var config = new FacebookDataConfig
            {
                UserId = FacebookQueryParam
            };

            var items = await _facebookDataProvider.LoadDataAsync(config, MaxRecordsParam);

            foreach (var item in items)
            {
                if (item.ImageUrl == null || item.ImageUrl == "")
                {
                    item.ImageUrl = "https://eclass.aueb.gr/courses/theme_data/9/eclass_aueb_logo.png";
                }
                Items.Add(item);
            }
            pring.IsActive    = false;
            pring.Visibility  = Visibility.Collapsed;
            FeedFb.Visibility = Visibility.Visible;
        }
        public override async Task <IEnumerable <FacebookSchema> > GetDataAsync(SchemaBase connectedItem = null)
        {
            var config = new FacebookDataConfig
            {
                UserId = "222343777914236"
            };

            return(await _dataProvider.LoadDataAsync(config, MaxRecords));
        }
示例#3
0
 public async Task LoadMoreDataInvalidOperationFacebook()
 {
     var config = new FacebookDataConfig
     {
         UserId = "8195378771",
     };
     var dataProvider = new FacebookDataProvider(OAuthKeys.FacebookValidKeys);
     InvalidOperationException exception = await ExceptionsAssert.ThrowsAsync <InvalidOperationException>(async() => await dataProvider.LoadMoreDataAsync());
 }
示例#4
0
        public async Task TestNullOAuth()
        {
            var config = new FacebookDataConfig
            {
                UserId = "8195378771",
            };

            var dataProvider = new FacebookDataProvider(null);

            await ExceptionsAssert.ThrowsAsync <ConfigParameterNullException>(async() => await dataProvider.LoadDataAsync(config));
        }
示例#5
0
        public async Task TestRevokedOAuth()
        {
            var config = new FacebookDataConfig
            {
                UserId = "8195378771",
            };

            var dataProvider = new FacebookDataProvider(OAuthKeys.FacebookRevokedKeys);

            await ExceptionsAssert.ThrowsAsync <OAuthKeysRevokedException>(async() => await dataProvider.LoadDataAsync(config));
        }
示例#6
0
        public async Task TestMaxRecords()
        {
            int maxRecords = 70;
            var config     = new FacebookDataConfig
            {
                UserId = "150135720497",
            };
            var dataProvider = new FacebookDataProvider(OAuthKeys.FacebookValidKeys);
            IEnumerable <FacebookSchema> result = await dataProvider.LoadDataAsync(config, maxRecords);

            Assert.IsTrue(result.Count() > 25);
        }
示例#7
0
        public async Task LoadFacebook()
        {
            var config = new FacebookDataConfig
            {
                UserId = "8195378771",
            };
            var dataProvider = new FacebookDataProvider(OAuthKeys.FacebookValidKeys);
            IEnumerable <FacebookSchema> result = await dataProvider.LoadDataAsync(config);

            Assert.IsNotNull(result);
            Assert.IsTrue(result.Any());
        }
示例#8
0
        public async Task TestMaxRecords_Min()
        {
            int maxRecords = 1;
            var config     = new FacebookDataConfig
            {
                UserId = "8195378771",
            };
            var dataProvider = new FacebookDataProvider(OAuthKeys.FacebookValidKeys);
            IEnumerable <FacebookSchema> result = await dataProvider.LoadDataAsync(config, maxRecords);

            Assert.AreEqual(maxRecords, result.Count());
        }
示例#9
0
        public async Task TestNullUserId()
        {
            var config = new FacebookDataConfig
            {
                UserId = null,
            };

            var dataProvider = new FacebookDataProvider(OAuthKeys.FacebookValidKeys);

            ConfigParameterNullException exception = await ExceptionsAssert.ThrowsAsync <ConfigParameterNullException>(async() => await dataProvider.LoadDataAsync(config));

            Assert.IsTrue(exception.Message.Contains("UserId"));
        }
示例#10
0
        public async Task TestEmptyOAuth()
        {
            var config = new FacebookDataConfig
            {
                UserId = "8195378771",
            };

            var dataProvider = new FacebookDataProvider(new FacebookOAuthTokens());

            OAuthKeysNotPresentException exception = await ExceptionsAssert.ThrowsAsync <OAuthKeysNotPresentException>(async() => await dataProvider.LoadDataAsync(config));

            Assert.IsTrue(exception.Message.Contains("AppId"));
        }
示例#11
0
        public async Task TestInvalidOAuth()
        {
            var config = new FacebookDataConfig
            {
                UserId = "8195378771",
            };

            var tokens = new FacebookOAuthTokens
            {
                AppId     = "INVALID",
                AppSecret = "INVALID"
            };

            var dataProvider = new FacebookDataProvider(tokens);

            await ExceptionsAssert.ThrowsAsync <OAuthKeysRevokedException>(async() => await dataProvider.LoadDataAsync(config));
        }
示例#12
0
        private async void Request()
        {
            try
            {
                IsBusy              = true;
                HasErrors           = false;
                NoItems             = false;
                DataProviderRawData = string.Empty;
                Items.Clear();

                var facebookDataProvider = new FacebookDataProvider(new FacebookOAuthTokens {
                    AppId = AppId, AppSecret = AppSecret
                });
                var config = new FacebookDataConfig
                {
                    UserId = FacebookQueryParam
                };

                var rawParser = new RawParser();
                var rawData   = await facebookDataProvider.LoadDataAsync(config, MaxRecordsParam, rawParser);

                DataProviderRawData = rawData.FirstOrDefault()?.Raw;

                var items = await facebookDataProvider.LoadDataAsync(config, MaxRecordsParam);

                NoItems = !items.Any();

                foreach (var item in items)
                {
                    Items.Add(item);
                }
            }
            catch (Exception ex)
            {
                DataProviderRawData += ex.Message;
                DataProviderRawData += ex.StackTrace;
                HasErrors            = true;
            }
            finally
            {
                IsBusy = false;
            }
        }
示例#13
0
        public async void GetItems()
        {
            string appId              = "YourAppId";
            string appSecret          = "YourAppSecret";
            string FacebookQueryParam = "8195378771";
            int    MaxRecordsParam    = 20;

            Items.Clear();

            _facebookDataProvider = new FacebookDataProvider(new FacebookOAuthTokens {
                AppId = appId, AppSecret = appSecret
            });
            var config = new FacebookDataConfig
            {
                UserId = FacebookQueryParam
            };

            var items = await _facebookDataProvider.LoadDataAsync(config, MaxRecordsParam);

            foreach (var item in items)
            {
                Items.Add(item);
            }
        }