Exemplo n.º 1
0
        /// <summary>
        /// Fetch a JSON Url Endpoint
        /// </summary>
        /// <typeparam name="T">Type of Data at Endpoint</typeparam>
        /// <param name="url">URL to Deserialize</param>
        /// <returns>Deserialized JSON Object</returns>
        public T FetchJSON <T>(string url)
        {
            InternetResponse resp = InternetRequest.DownloadHTML(url);
            string           json = resp.HTML;

            return(JsonConvert.DeserializeObject <T>(resp.HTML));
        }
Exemplo n.º 2
0
        public PlaylistData FetchPlaylist(string url)
        {
            InternetResponse resp = InternetRequest.DownloadHTML(url);
            string           json = resp.HTML; // The xml fragment is malformed so fix it up.

            return(JsonConvert.DeserializeObject <PlaylistData>(resp.HTML));
        }
        public override async Task <IEnumerable <T> > LoadDataAsync()
        {
            var result = await InternetRequest.DownloadAsync(this.CreateSettings());

            if (result.Success)
            {
                return(_parser.Parse(result.Result));
            }

            throw new RequestFailedException();
        }
Exemplo n.º 4
0
        private async Task <TouchDevelopSchema> GetRemoteProject()
        {
            InternetRequestSettings settings = new InternetRequestSettings()
            {
                RequestedUri = new Uri(string.Format("https://www.touchdevelop.com/api/{0}", _config.ScriptId))
            };

            var result = await InternetRequest.DownloadAsync(settings);

            if (result.Success)
            {
                return(_parser.Parse(result.Result).FirstOrDefault());
            }
            return(null);
        }
Exemplo n.º 5
0
        public override async Task <IEnumerable <FlickrSchema> > LoadDataAsync()
        {
            InternetRequestSettings settings = new InternetRequestSettings()
            {
                RequestedUri = new Uri(string.Format("http://api.flickr.com/services/feeds/photos_public.gne?{0}={1}", _config.QueryType, WebUtility.UrlEncode(_config.Query)))
            };

            var result = await InternetRequest.DownloadAsync(settings);

            if (result.Success)
            {
                return(_parser.Parse(result.Result));
            }

            throw new RequestFailedException();
        }
Exemplo n.º 6
0
        public override async Task <IEnumerable <BingSchema> > LoadDataAsync()
        {
            InternetRequestSettings settings = new InternetRequestSettings()
            {
                RequestedUri = new Uri(string.Format("http://www.bing.com/search?q={0}&loc:{1}&format=rss", WebUtility.UrlEncode(_config.Query), _config.QueryType))
            };

            var result = await InternetRequest.DownloadAsync(settings);

            if (result.Success)
            {
                return(_parser.Parse(result.Result));
            }

            throw new RequestFailedException();
        }
Exemplo n.º 7
0
        public override async Task <IEnumerable <RssSchema> > LoadDataAsync()
        {
            InternetRequestSettings settings = new InternetRequestSettings()
            {
                RequestedUri = new Uri(_config.Url)
            };

            var result = await InternetRequest.DownloadAsync(settings);

            if (result.Success)
            {
                return(_parser.Parse(result.Result));
            }

            throw new RequestFailedException();
        }
Exemplo n.º 8
0
        public override async Task <IEnumerable <InstagramSchema> > LoadDataAsync()
        {
            InternetRequestSettings settings = new InternetRequestSettings()
            {
                RequestedUri = this.GetApiUrl()
            };

            var requestResult = await InternetRequest.DownloadAsync(settings);

            if (requestResult.Success)
            {
                return(_parser.Parse(requestResult.Result));
            }

            if (requestResult.StatusCode == HttpStatusCode.BadRequest)
            {
                throw new OAuthKeysRevokedException();
            }

            throw new RequestFailedException();
        }
Exemplo n.º 9
0
        private async Task <IEnumerable <YouTubeSchema> > SearchAsync()
        {
            InternetRequestSettings settings = new InternetRequestSettings
            {
                RequestedUri = GetSearchUrl()
            };

            var requestResult = await InternetRequest.DownloadAsync(settings);

            if (requestResult.Success)
            {
                return(_parser.Parse(requestResult.Result));
            }

            if (requestResult.StatusCode == HttpStatusCode.Forbidden)
            {
                throw new OAuthKeysRevokedException();
            }

            throw new RequestFailedException();
        }
Exemplo n.º 10
0
        private async Task <string> GetUploadVideosListId()
        {
            InternetRequestSettings settings = new InternetRequestSettings
            {
                RequestedUri = GetChannelUrl()
            };

            var requestResult = await InternetRequest.DownloadAsync(settings);

            if (requestResult.Success)
            {
                var channel = JsonConvert.DeserializeObject <YouTubeResult <YouTubeChannelLookupResult> >(requestResult.Result);
                if (channel != null &&
                    channel.items != null &&
                    channel.items.Count > 0 &&
                    channel.items[0].contentDetails != null &&
                    channel.items[0].contentDetails.relatedPlaylists != null &&
                    !string.IsNullOrEmpty(channel.items[0].contentDetails.relatedPlaylists.uploads))
                {
                    return(channel.items[0].contentDetails.relatedPlaylists.uploads);
                }
            }
            return(string.Empty);
        }