private async Task <string> SearchBingAsync(string searchTerm) { var searchOptions = new BingImageSearchOptions { Aspect = BingImageAspect.Wide, Count = 1, ImageType = BingImageType.Photo, MinHeight = 200 }; var query = $"\"Star Wars\" \"{searchTerm}\" -lego -blocks -minecraft"; var imageResults = await SearchAsync(query, searchOptions); var firstImageResult = imageResults.Value.FirstOrDefault(); var imageUrl = firstImageResult?.ContentUrl; return(imageUrl); }
protected async Task <Images> SearchAsync(string searchTerm, BingImageSearchOptions searchOptions = null) { Images imageResults; if (searchOptions == null) { imageResults = await _client.Images.SearchAsync(searchTerm); } else { var aspect = Enum.GetName(typeof(BingImageAspect), searchOptions.Aspect); var color = searchOptions.Color == BingImageColor.All ? null : Enum.GetName(typeof(BingImageColor), searchOptions.ImageType); var imageType = searchOptions.ImageType == BingImageType.All ? null : Enum.GetName(typeof(BingImageType), searchOptions.ImageType); var size = Enum.GetName(typeof(BingImageSize), searchOptions.Size); imageResults = await _client.Images.SearchAsync( searchTerm, aspect : aspect, color : color, count : searchOptions.Count, height : searchOptions.Height, imageType : imageType, maxHeight : searchOptions.MaxHeight, maxWidth : searchOptions.MaxWidth, minHeight : searchOptions.MinHeight, minWidth : searchOptions.MinWidth, offset : searchOptions.Offset, size : size, width : searchOptions.Width ); } return(imageResults); }