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); }