public void VisualSearchWithInsightsToken() { using (MockContext context = MockContext.Start(this.GetType())) { HttpMockServer.Initialize(this.GetType(), "VisualSearchWithInsightsToken"); IVisualSearchClient client = new VisualSearchClient(new ApiKeyServiceClientCredentials(SubscriptionKey), HttpMockServer.CreateInstance()); ImageInfo ImageInfo = new ImageInfo(imageInsightsToken: ImageInsightsToken, cropArea: CropArea); Filters Filters = new Filters(site: "www.bing.com"); KnowledgeRequest KnowledgeRequest = new KnowledgeRequest(filters: Filters); VisualSearchRequest VisualSearchRequest = new VisualSearchRequest(imageInfo: ImageInfo, knowledgeRequest: KnowledgeRequest); var resp = client.Images.VisualSearchMethodAsync(knowledgeRequest: JsonConvert.SerializeObject(VisualSearchRequest)).Result; Assert.NotNull(resp); Assert.NotNull(resp.Tags); Assert.True(resp.Tags.Count > 0); var tag = resp.Tags[0]; Assert.NotNull(tag.Actions); Assert.True(tag.Actions.Count > 0); var action = tag.Actions[0]; Assert.NotNull(action.ActionType); } }
public static VisualSearchRequest BuildKnowledgeRequest(string site, ImageInfo imgInfo) { Filters Filters = new Filters(site: site); KnowledgeRequest KnowledgeRequest = new KnowledgeRequest(filters: Filters); VisualSearchRequest VisualSearchRequest = new VisualSearchRequest(imageInfo: imgInfo, knowledgeRequest: KnowledgeRequest); return(VisualSearchRequest); }
public static void VisualSearchUrlWithFilters(string subscriptionKey) { var client = new VisualSearchAPI(new ApiKeyServiceClientCredentials(subscriptionKey)); try { // The image can be specified via URL, in the ImageInfo object var ImageUrl = "https://images.unsplash.com/photo-1512546148165-e50d714a565a?w=600&q=80"; ImageInfo ImageInfo = new ImageInfo(url: ImageUrl); // Optional filters inside the knowledgeRequest will restrict similar products and images to certain domains Filters Filters = new Filters(site: "www.bing.com"); KnowledgeRequest KnowledgeRequest = new KnowledgeRequest(filters: Filters); // An image binary is not necessary here, as the image is specified via URL VisualSearchRequest VisualSearchRequest = new VisualSearchRequest(imageInfo: ImageInfo, knowledgeRequest: KnowledgeRequest); var visualSearchResults = client.Images.VisualSearchMethodAsync(knowledgeRequest: VisualSearchRequest).Result; Console.WriteLine("Search visual search request with url of dog image"); if (visualSearchResults == null) { Console.WriteLine("No visual search result data."); } else { // Visual Search results if (visualSearchResults.Image?.ImageInsightsToken != null) { Console.WriteLine($"Uploaded image insights token: {visualSearchResults.Image.ImageInsightsToken}"); } else { Console.WriteLine("Couldn't find image insights token!"); } // List of tags if (visualSearchResults.Tags.Count > 0) { var firstTagResult = visualSearchResults.Tags.First(); Console.WriteLine($"Visual search tag count: {visualSearchResults.Tags.Count}"); // List of actions in first tag if (firstTagResult.Actions.Count > 0) { var firstActionResult = firstTagResult.Actions.First(); Console.WriteLine($"First tag action count: {firstTagResult.Actions.Count}"); Console.WriteLine($"First tag action type: {firstActionResult.ActionType}"); } else { Console.WriteLine("Couldn't find tag actions!"); } } else { Console.WriteLine("Couldn't find image tags!"); } } } catch (Exception ex) { Console.WriteLine("Encountered exception. " + ex.Message); } }