Odesílání a používání dotazů a odpovědí rozhraní API Bingu pro místní obchodní vyhledávání
Výstraha
30. října 2020 se rozhraní API Bingu pro vyhledávání přesunula ze služeb Azure AI do služby Bing Search Services. Tato dokumentace je k dispozici pouze pro referenci. Aktualizovanou dokumentaci najdete v dokumentaci k rozhraní API Bingu pro vyhledávání. Pokyny k vytváření nových prostředků Azure pro vyhledávání Bingu najdete v tématu Vytvoření prostředku Vyhledávání Bingu prostřednictvím Azure Marketplace.
Místní výsledky můžete získat z rozhraní API Bingu pro místní obchodní vyhledávání odesláním vyhledávacího dotazu do jeho koncového bodu a zahrnutím hlavičky Ocp-Apim-Subscription-Key
, která se vyžaduje. Kromě dostupných hlaviček a parametrů je možné vyhledávání přizpůsobit zadáním zeměpisných hranic oblasti, která se má prohledávat, a kategorie vrácených míst.
Vytvoření požadavku
Pokud chcete odeslat požadavek do rozhraní API pro vyhledávání místních podniků na Bingu, přidejte hledaný výraz do q=
parametru před jeho přidáním k API koncovému bodu a zahrňte hlavičku Ocp-Apim-Subscription-Key
. Například:
https://api.cognitive.microsoft.com/bing/localbusinesses/v7.0/search?q=restaurant+in+Bellevue
Níže je uvedena úplná syntaxe adresy URL požadavku. Další informace o odesílání požadavků najdete v referenčním obsahu API Bingu pro místní obchodní vyhledávání , rychlých začátcícha referenčním obsahu pro hlavičky a parametry .
Informace o kategoriích místního vyhledávání najdete v tématu Kategorie vyhledávání pro rozhraní API Bingu pro místní obchodní vyhledávání.
https://api.cognitive.microsoft.com/bing/v7.0/localbusinesses/search[?q][&localCategories][&cc][&mkt][&safesearch][&setlang][&count][&first][&localCircularView][&localMapView]
Použití odpovědí
Odpovědi JSON z rozhraní API Pro místní obchodní vyhledávání Bingu obsahují objekt SearchResponse
. Rozhraní API vrátí relevantní výsledky hledání v poli places
. Pokud nejsou nalezeny žádné výsledky, pole places
nebude zahrnuté do odpovědi.
Poznámka:
Vzhledem k tomu, že formáty adres URL a parametry se můžou bez předchozího upozornění změnit, použijte všechny adresy URL as-is. Neměli byste brát závislosti na formátu adresy URL ani parametrech s výjimkou případů, kdy je uvedeno.
{
"_type": "SearchResponse",
"queryContext": {
"originalQuery": "restaurant in Bellevue"
},
"places": {
"totalEstimatedMatches": 10,
. . .
Atributy výsledků hledání
Výsledky JSON vrácené rozhraním API zahrnují následující atributy:
- _typ
- adresa
- informaceOPrezentaciEntity
- geo
- identifikační číslo
- název
- routeablePoint
- telefon
- adresa URL
Obecné informace o hlavičkách, parametrech, kódech trhu, objektech odezvy, chybách atd., najdete v referenčních informacích k rozhraní API Bingu pro místní vyhledávání v7.
Poznámka:
Vy nebo třetí strana vaším jménem nesmíte používat, uchovávat, ukládat, ukládat do mezipaměti, sdílet ani distribuovat veškerá data z rozhraní API místního vyhledávání za účelem testování, vývoje, trénování, distribuce nebo zpřístupnění jakékoli služby nebo funkce jiné společnosti než Microsoft.
Příklad odpovědi JSON
Následující odpověď JSON obsahuje výsledky hledání zadané dotazem ?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"
}
}
}
Omezování požadavků
Služba a typ vašeho předplatného určují počet dotazů za sekundu (QPS), které můžete provést. Ujistěte se, že vaše aplikace obsahuje logiku, která by zůstala v rámci kvóty. Pokud je limit QPS splněn nebo překročen, požadavek selže a vrátí se stavový kód HTTP 429. Odpověď obsahuje hlavičku Retry-After
, která udává, jak dlouho musíte počkat před odesláním jiného požadavku.
Odepření služby versus omezování
Služba rozlišuje útok do služby (DoS) a porušení QPS. Pokud má služba podezření na útok DoS, požadavek bude úspěšný (stavový kód HTTP je 200 OK). Tělo odpovědi je však prázdné.
Další kroky
- Rychlé zprovoznění vyhledávání místních podniků
- Rychlý průvodce vyhledáváním místních podniků v Javě
- Rychlý průvodce k uzlu místního obchodního vyhledávání
- Rychlý start pro vyhledávání místních podniků v Pythonu