|
1 | 1 |
|
2 | | - |
3 | 2 | 'use strict'; |
4 | 3 |
|
5 | | -let https = require ('https'); |
| 4 | +let request = require ('request'); |
6 | 5 |
|
7 | | -// ********************************************** |
8 | | -// *** Update or verify the following values. *** |
9 | | -// ********************************************** |
| 6 | +/** |
| 7 | + * This sample uses the Bing Entity Search API to use an entity query to |
| 8 | + * get results with entity details like address and contact information. |
| 9 | + */ |
10 | 10 |
|
11 | | -// Add your Bing Entity Search subscription key to your environment variables. |
| 11 | +// Add your Bing Entity Search subscription key and endpoint to your environment variables. |
12 | 12 | let subscriptionKey = process.env['BING_ENTITY_SEARCH_SUBSCRIPTION_KEY'] |
13 | | -// Add your Bing Entity Search endpoint to your environment variables. |
14 | | -let host = process.env['BING_ENTITY_SEARCH_ENDPOINT'] |
15 | | -let path = '/bing/v7.0/entities'; |
| 13 | +let endpoint = process.env['BING_ENTITY_SEARCH_ENDPOINT'] + '/bing/v7.0/entities'; |
16 | 14 |
|
17 | 15 | let mkt = 'en-US'; |
18 | | -let q = 'italian restaurant near me'; |
19 | | - |
20 | | -let query = '?mkt=' + mkt + '&q=' + encodeURI(q); |
21 | | - |
22 | | -let response_handler = function (response) { |
23 | | - let body = ''; |
24 | | - response.on ('data', function (d) { |
25 | | - body += d; |
26 | | - }); |
27 | | - response.on ('end', function () { |
28 | | - let json = JSON.stringify(JSON.parse(body), null, ' '); |
29 | | - console.log (json); |
30 | | - }); |
31 | | - response.on ('error', function (e) { |
32 | | - console.log ('Error: ' + e.message); |
33 | | - }); |
34 | | -}; |
35 | | - |
36 | | -let Search = function () { |
37 | | - let request_params = { |
38 | | - method : 'GET', |
39 | | - hostname : host, |
40 | | - path : path + query, |
41 | | - headers : { |
42 | | - 'Ocp-Apim-Subscription-Key' : subscriptionKey, |
43 | | - } |
44 | | - }; |
45 | | - |
46 | | - let req = https.request (request_params, response_handler); |
47 | | - req.end (); |
| 16 | +let query = 'italian restaurant near me'; |
| 17 | + |
| 18 | +//let query = '?mkt=' + mkt + '&q=' + encodeURI(q); |
| 19 | + |
| 20 | +// Construct parameters |
| 21 | +let request_params = { |
| 22 | + method: 'GET', |
| 23 | + uri: endpoint, |
| 24 | + headers: { |
| 25 | + 'Ocp-Apim-Subscription-Key': subscriptionKey |
| 26 | + }, |
| 27 | + qs: { |
| 28 | + q: query, |
| 29 | + mkt: mkt |
| 30 | + }, |
| 31 | + json: true |
48 | 32 | } |
49 | 33 |
|
50 | | -Search (); |
| 34 | +// Make request |
| 35 | +request(request_params, function (error, response, body) { |
| 36 | + console.error('error:', error) |
| 37 | + console.log('statusCode:', response && response.statusCode) |
| 38 | + |
| 39 | + console.log(body.queryContext.originalQuery) |
| 40 | + console.log() |
| 41 | + body.places.value.forEach(entity => { |
| 42 | + console.log(entity) |
| 43 | + }) |
| 44 | +}) |
0 commit comments