Beispiel #1
0
        public static async Task <List <SearchResultInformation> > SearchAsync(string videoId, string searchQuery, VideoPrivacyType privacyType)
        {
            List <SearchResultInformation> searchResults;

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key",
                                                 Common.CoreConstants.VideoIndexerSubscriptionKey);

                var statusresult =
                    await client.GetAsync(
                        new Uri(
                            $"{CogsExplorer.Common.CoreConstants.VideoIndexerBaseUrl}/Search?privacy={privacyType}&id={videoId}&query={searchQuery}"));

                var json = await statusresult.Content.ReadAsStringAsync();

                var results = JsonConvert.DeserializeObject <Search.SearchResult>(json);

                searchResults = (from result in results.results[0].searchMatches
                                 select new SearchResultInformation()
                {
                    ExactText = result.exactText,
                    ResultType = result.type,
                    Text = result.text,
                    StartTime = TimeSpan.Parse(result.startTime)
                }).ToList();
            }

            return(searchResults);
        }
        public static async Task <string> UploadVideoAsync(string name, string description, VideoPrivacyType privacyType,
                                                           byte[] bytes)
        {
            string videoId = null;

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key",
                                                 Common.CoreConstants.VideoIndexerSubscriptionKey);

                var uri = new Uri(
                    $"{CogsExplorer.Common.CoreConstants.VideoIndexerBaseUrl}?name={name}&description={description}&privacy={privacyType}");

                try
                {
                    var payload = new HttpMultipartContent {
                        new HttpBufferContent(bytes.AsBuffer())
                    };

                    var response = await client.PostAsync(uri, payload);

                    var result = await response.Content.ReadAsStringAsync();

                    dynamic videoIdResult = JsonConvert.DeserializeObject(result);

                    videoId = videoIdResult.ToString();
                }
                catch (Exception ex)
                {
                }
            }

            return(videoId);
        }