Пример #1
0
        public static async Task <Suggestions> callAutosuggestSearchAPI(BingAutosuggestQuery query)
        {
            var url = $"{ApiEndpoints.AUTOSUGGEST_URL}{query.ToQueryString()}";

            using (var bingClient = new BingHttpClient(query.SearchKey))
            {
                var httpResponseMessage = await bingClient.GetAsync(url);

                if (httpResponseMessage.IsSuccessStatusCode)
                {
                    var responseContent = httpResponseMessage.Content.ReadAsStringAsync().Result;
                    return(JsonConvert.DeserializeObject <Suggestions>(responseContent));
                }
                else
                {
                    throw new InvalidOperationException("An error occurred fetching the results from the autosuggest service");
                }
            }
        }
Пример #2
0
        public static async Task <BingVideoSearchResponse> CallVideoSearchAPI(BingVideoSearchQuery query)
        {
            var url = $"{ApiEndpoints.VIDEO_SEARCH_URL}{query.ToQueryString()}";

            using (var bingClient = new BingHttpClient(query.SearchKey))
            {
                var httpResponseMessage = await bingClient.GetAsync(url);

                if (httpResponseMessage.IsSuccessStatusCode)
                {
                    var responseContent = httpResponseMessage.Content.ReadAsStringAsync().Result;
                    return(JsonConvert.DeserializeObject <BingVideoSearchResponse>(responseContent));
                }
                else
                {
                    throw new InvalidOperationException("An error occurred fetching the results from the video service");
                }
            }
        }
Пример #3
0
        public static async Task <Screen> CallContentModeratorTextAPI(ContentModeratorTextQuery query)
        {
            var url = $"{query.Endpoint + "/Screen"}{query.ToQueryString()}";

            using (var bingClient = new BingHttpClient(query.SubscriptionKey))
            {
                var content             = new StringContent(query.Text, Encoding.UTF8, query.ContentType);
                var httpResponseMessage = await bingClient.PostAsync(url, content);

                if (httpResponseMessage.IsSuccessStatusCode)
                {
                    var responseContent = httpResponseMessage.Content.ReadAsStringAsync().Result;
                    return(JsonConvert.DeserializeObject <Screen>(responseContent));
                }
                else
                {
                    throw new InvalidOperationException("An error occurred fetching the results from the service");
                }
            }
        }
Пример #4
0
        public static async Task <OCR> CallContentModeratorOCRAPI(ContentModeratorOCRQuery query)
        {
            var url = $"{query.Endpoint + "/OCR"}{query.ToQueryString()}";

            using (var bingClient = new BingHttpClient(query.SubscriptionKey))
            {
                var cancellationToken           = default(CancellationToken);
                HttpRequestMessage _httpRequest = CreateImageRequest(query, url);
                var httpResponseMessage         = await bingClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);

                if (httpResponseMessage.IsSuccessStatusCode)
                {
                    var responseContent = httpResponseMessage.Content.ReadAsStringAsync().Result;
                    return(JsonConvert.DeserializeObject <OCR>(responseContent));
                }
                else
                {
                    throw new InvalidOperationException("An error occurred fetching the results from the service");
                }
            }
        }
Пример #5
0
        public static async Task <EntitiesBatchResultV2dot1> callTextAnalyticsEntityAPI(TextAnalyticsQuery query)
        {
            var url = query.TextAnalyticsEndpoint + "/entities";

            using (var bingClient = new BingHttpClient(query.TextAnalyticsKey))
            {
                var documents           = JsonConvert.SerializeObject(query);
                var content             = new StringContent(documents, Encoding.UTF8, "application/json");
                var httpResponseMessage = await bingClient.PostAsync(url, content);

                if (httpResponseMessage.IsSuccessStatusCode)
                {
                    var responseContent = httpResponseMessage.Content.ReadAsStringAsync().Result;
                    return(JsonConvert.DeserializeObject <EntitiesBatchResultV2dot1>(responseContent));
                }
                else
                {
                    throw new InvalidOperationException("An error occurred fetching the results from the service");
                }
            }
        }
        public static async Task <BingVisualSearchResponse> CallVisualSearchAPI(BingVisualSearchQuery query)
        {
            var url = ApiEndpoints.VISUAL_SEARCH_URL +
                      "mkt=" + query.Mkt +
                      "&safeSearch=" + query.SafeSearch +
                      "&setLang=" + query.SetLang;

            byte[] imageBinary = null;
            using (MemoryStream ms = new MemoryStream())
            {
                query.FileStream.CopyTo(ms);
                imageBinary = ms.ToArray();
            }
            var boundary = string.Format("batch_{0}", Guid.NewGuid());
            var content  = new MultipartFormDataContent(boundary)
            {
                { new ByteArrayContent(imageBinary), "image", "myimage" }
            };
            var kb = JsonConvert.SerializeObject(BuildKnowledgeRequest(query.Site, null));

            content.Add(new StringContent(kb, Encoding.UTF8, "application/json"), "knowledgeRequest");
            using (var bClient = new BingHttpClient(query.SearchKey))
            {
                var httpResponseMessage = await bClient.PostAsync(url, content);

                if (httpResponseMessage.IsSuccessStatusCode)
                {
                    var responseContent = httpResponseMessage.Content.ReadAsStringAsync().Result;
                    return(JsonConvert.DeserializeObject <BingVisualSearchResponse>(responseContent));
                }
                else
                {
                    throw new InvalidOperationException("An error occurred fetching the results from the video service");
                }
            }
        }