|
1 | | -//Copyright (c) Microsoft Corporation. All rights reserved. |
2 | | -//Licensed under the MIT License. |
| 1 | +// Copyright (c) Microsoft Corporation. All rights reserved. |
| 2 | +// Licensed under the MIT License. |
3 | 3 |
|
4 | 4 | 'use strict'; |
5 | 5 |
|
6 | | -let https = require ('https'); |
| 6 | +let request = require ('request'); |
7 | 7 |
|
8 | | -// ********************************************** |
9 | | -// *** Update or verify the following values. *** |
10 | | -// ********************************************** |
| 8 | +/** |
| 9 | + * This samnple uses the Bing Autosuggest API with a text search query |
| 10 | + * that returns website suggestions based on the word(s) submitted. |
| 11 | + */ |
11 | 12 |
|
12 | | -// Add your Bing Autosuggest subscription key to your environment variables. |
| 13 | +// Add your Bing Autosuggest subscription key and endpoint to your environment variables. |
13 | 14 | let subscriptionKey = process.env['BING_AUTOSUGGEST_SUBSCRIPTION_KEY'] |
14 | | -// Add your Bing Autosuggest endpoint to your environment variables. |
15 | | -let host = process.env['BING_AUTOSUGGEST_endpoint'] |
16 | | -let path = '/bing/v7.0/Suggestions'; |
| 15 | +let endpoint = process.env['BING_AUTOSUGGEST_ENDPOINT'] + '/bing/v7.0/Suggestions'; |
17 | 16 |
|
18 | | -let mkt = 'en-US'; |
| 17 | +// Search term |
19 | 18 | let query = 'sail'; |
20 | | - |
21 | | -let params = '?mkt=' + mkt + '&q=' + query; |
22 | | - |
23 | | -let response_handler = function (response) { |
24 | | - let body = ''; |
25 | | - response.on ('data', function (d) { |
26 | | - body += d; |
27 | | - }); |
28 | | - response.on ('end', function () { |
29 | | - let body_ = JSON.parse (body); |
30 | | - let body__ = JSON.stringify (body_, null, ' '); |
31 | | - console.log (body__); |
32 | | - }); |
33 | | - response.on ('error', function (e) { |
34 | | - console.log ('Error: ' + e.message); |
35 | | - }); |
36 | | -}; |
37 | | - |
38 | | -let get_suggestions = function () { |
39 | | - let request_params = { |
40 | | - method : 'GET', |
41 | | - hostname : host, |
42 | | - path : path + params, |
43 | | - headers : { |
44 | | - 'Ocp-Apim-Subscription-Key' : subscriptionKey, |
45 | | - } |
46 | | - }; |
47 | | - |
48 | | - let req = https.request (request_params, response_handler); |
49 | | - req.end (); |
| 19 | +// Market to perform the search |
| 20 | +let mkt = 'en-US' |
| 21 | + |
| 22 | +// Construct parameters |
| 23 | +let request_params = { |
| 24 | + method: 'GET', |
| 25 | + uri: endpoint, |
| 26 | + headers: { 'Ocp-Apim-Subscription-Key': subscriptionKey }, |
| 27 | + qs: { q: query, mkt: mkt }, |
| 28 | + json: true |
50 | 29 | } |
51 | 30 |
|
52 | | -get_suggestions (); |
| 31 | +// Make request |
| 32 | +request(request_params, function (error, response, body) { |
| 33 | + console.error('error:', error) |
| 34 | + console.log('statusCode:', response && response.statusCode) |
| 35 | + |
| 36 | + console.log(body) |
| 37 | + console.log() |
| 38 | + body.suggestionGroups.forEach( sugg => { |
| 39 | + console.log(sugg) |
| 40 | + }) |
| 41 | +}) |
0 commit comments