Query's en antwoorden van de Bing Local Business Search-API verzenden en gebruiken
Waarschuwing
Op 30 oktober 2020 zijn de Zoeken in Bing API's verplaatst van Azure AI-services naar Zoeken in Bing Services. Deze documentatie is alleen bedoeld ter referentie. Zie de bing zoek-API-documentatie voor bijgewerkte documentatie. Zie Een Zoeken in Bing resource maken via de Azure Marketplace voor instructies voor het maken van nieuwe Azure-resources voor Bing Search.
U kunt lokale resultaten ophalen uit de Bing Local Business Search-API door een zoekquery naar het eindpunt te verzenden en de Ocp-Apim-Subscription-Key
vereiste header op te geven. Naast de beschikbare headers en parameters kunnen zoekopdrachten worden aangepast door geografische grenzen op te geven voor het gebied dat moet worden doorzocht en de categorieën van locaties die worden geretourneerd.
Een aanvraag maken
Als u een aanvraag wilt verzenden naar de Bing Local Business Search-API, voegt u een zoekterm toe aan de q=
parameter voordat u deze toevoegt aan het API-eindpunt en de Ocp-Apim-Subscription-Key
header toevoegt. Bijvoorbeeld:
https://api.cognitive.microsoft.com/bing/localbusinesses/v7.0/search?q=restaurant+in+Bellevue
De volledige syntaxis van de aanvraag-URL wordt hieronder weergegeven. Zie de quickstarts voor de Bing Local Business Search-API en referentie-inhoud voor headers en parameters voor meer informatie over het verzenden van aanvragen.
Zie Zoekcategorieën voor de Bing Local Business Search-API voor informatie over lokale zoekcategorieën.
https://api.cognitive.microsoft.com/bing/v7.0/localbusinesses/search[?q][&localCategories][&cc][&mkt][&safesearch][&setlang][&count][&first][&localCircularView][&localMapView]
Antwoorden gebruiken
JSON-antwoorden van de Bing Local Business Search-API bevatten een SearchResponse
-object. De API retourneert relevante zoekresultaten in het places
veld. Als er geen resultaten worden gevonden, wordt het places
veld niet opgenomen in het antwoord.
Notitie
Omdat URL-indelingen en -parameters zonder kennisgeving kunnen worden gewijzigd, moet u alle URL's in hun huidige vorm gebruiken. Tenzij anders wordt vermeld, is het beter geen afhankelijkheden van de URL-indeling of parameters te gebruiken.
{
"_type": "SearchResponse",
"queryContext": {
"originalQuery": "restaurant in Bellevue"
},
"places": {
"totalEstimatedMatches": 10,
. . .
Kenmerken van zoekresultaten
De JSON-resultaten die door de API worden geretourneerd, bevatten de volgende kenmerken:
- _Type
- adres
- entityPresentationInfo
- Geo
- id
- naam
- routeablePoint
- telefoon
- url
Zie de naslaginformatie over de Bing Local Search-API v7 voor algemene informatie over headers, parameters, marktcodes, antwoordobjecten, fouten, enzovoort.
Notitie
U, of een derde partij namens u, mag geen gegevens van de Lokale zoek-API gebruiken, behouden, opslaan, opslaan, in cache opslaan, delen of distribueren voor het testen, ontwikkelen, trainen, distribueren of beschikbaar maken van services of functies die niet van Microsoft zijn.
Voorbeeld van JSON-antwoord
Het volgende JSON-antwoord bevat zoekresultaten die zijn opgegeven door de query ?q=restaurant+in+Bellevue
.
Vary: Accept-Encoding
BingAPIs-TraceId: 5376FFEB65294E24BB9F91AD70545826
BingAPIs-SessionId: 06ED7CEC80F746AA892EDAAC97CB0CB4
X-MSEdge-ClientID: 112C391E72C0624204153594738C63DE
X-MSAPI-UserState: aeab
BingAPIs-Market: en-US
X-Search-ResponseInfo: InternalResponseTime=659,MSDatacenter=CO4
X-MSEdge-Ref: Ref A: 5376FFEB65294E24BB9F91AD70545826 Ref B: BY3EDGE0306 Ref C: 2018-10-16T16:26:15Z
apim-request-id: fe54f585-7c54-4bf5-8b92-b9bede2b710a
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
x-content-type-options: nosniff
Cache-Control: max-age=0, private
Date: Tue, 16 Oct 2018 16:26:15 GMT
P3P: CP="NON UNI COM NAV STA LOC CURa DEVa PSAa PSDa OUR IND"
Content-Length: 978
Content-Type: application/json; charset=utf-8
Expires: Tue, 16 Oct 2018 16:25:15 GMT
{
"_type": "SearchResponse",
"queryContext": {
"originalQuery": "restaurant Bellevue"
},
"places": {
"totalEstimatedMatches": 50,
"value": [{
"_type": "LocalBusiness",
"id": "https:\/\/cognitivegblppe.azure-api.net\/api\/v7\/#Places.0",
"name": "Facing East Taiwanese Restaurant",
"url": "http:\/\/litadesign.wix.com\/facingeastrestaurant",
"entityPresentationInfo": {
"entityScenario": "ListItem",
"entityTypeHints": ["Place", "LocalBusiness", "Restaurant"]
},
"geo": {
"latitude": 47.6199188232422,
"longitude": -122.202796936035
},
"routablePoint": {
"latitude": 47.6199188232422,
"longitude": -122.201713562012
},
"address": {
"streetAddress": "1075 Bellevue Way NE Ste B2",
"addressLocality": "Bellevue",
"addressRegion": "WA",
"postalCode": "98004",
"addressCountry": "US",
"neighborhood": "Bellevue",
"text": "1075 Bellevue Way NE Ste B2, Bellevue, WA 98004"
},
"telephone": "(425) 688-2986"
}],
"searchAction": {
"location": [{
"name": "Bellevue, Washington"
}],
"query": "restaurant"
}
}
}
Aanvraagbeperkingen
De service en uw abonnementtype bepalen hoeveel query’s u per seconde kunt uitvoeren (QPS). Zorg dat uw toepassing logica bevat die zorgt dat u binnen uw quotum blijft. Als de QPS-limiet is bereikt of overschreden, mislukt de aanvraag en wordt er een HTTP 429-statuscode geretourneerd. Het antwoord bevat de header Retry-After
, waarin wordt aangegeven hoe lang u moet wachten voordat u een nieuwe aanvraag kunt verzenden.
Denial of Service (DoS) versus beperking
De service maakt een onderscheid tussen een denial-of-service (DoS)-aanval en een overschrijding van de QPS. Als de service een Denial of Service-aanval vermoedt, slaagt de aanvraag (HTTP-statuscode is 200 OK). De hoofdtekst van het antwoord is in dit geval echter leeg.