Wysyłanie i używanie zapytań i odpowiedzi interfejsu API wyszukiwania lokalnych firm Bing
Ostrzeżenie
30 października 2020 r. interfejsy API Wyszukiwanie Bing zostały przeniesione z usług Azure AI do usług Wyszukiwanie Bing Services. Ta dokumentacja jest udostępniana tylko do celów referencyjnych. Aby uzyskać zaktualizowaną dokumentację, zobacz dokumentację interfejsu API wyszukiwania Bing. Aby uzyskać instrukcje dotyczące tworzenia nowych zasobów platformy Azure na potrzeby wyszukiwania Bing, zobacz Tworzenie zasobu Wyszukiwanie Bing za pośrednictwem Azure Marketplace.
Wyniki lokalne można uzyskać z interfejsu API wyszukiwania lokalnych firm Bing, wysyłając zapytanie wyszukiwania do punktu końcowego i uwzględniając Ocp-Apim-Subscription-Key
nagłówek, który jest wymagany. Oprócz dostępnych nagłówków i parametrów wyszukiwania można dostosować, określając granice geograficzne obszaru do przeszukania oraz kategorie zwracanych miejsc.
Tworzenie żądania
Aby wysłać żądanie do interfejsu API wyszukiwania lokalnych firm Bing, dołącz termin wyszukiwania do parametru q=
przed dodaniem go do punktu końcowego interfejsu Ocp-Apim-Subscription-Key
API i dołącz nagłówek . Na przykład:
https://api.cognitive.microsoft.com/bing/localbusinesses/v7.0/search?q=restaurant+in+Bellevue
Poniżej przedstawiono pełną składnię adresu URL żądania. Aby uzyskać więcej informacji na temat wysyłania żądań, zobacz przewodniki Szybki start dotyczące interfejsu API wyszukiwania lokalnych firm Bing oraz zapoznaj się z zawartością referencyjną dotyczącą nagłówków i parametrów .
Aby uzyskać informacje na temat lokalnych kategorii wyszukiwania, zobacz Wyszukiwanie kategorii dla interfejsu API wyszukiwania lokalnych firm Bing.
https://api.cognitive.microsoft.com/bing/v7.0/localbusinesses/search[?q][&localCategories][&cc][&mkt][&safesearch][&setlang][&count][&first][&localCircularView][&localMapView]
Korzystanie z odpowiedzi
Odpowiedzi JSON z interfejsu API wyszukiwania lokalnych firm Bing zawierają SearchResponse
obiekt . Interfejs API zwróci odpowiednie wyniki wyszukiwania w places
polu. Jeśli wyniki nie zostaną znalezione, places
pole nie zostanie uwzględnione w odpowiedzi.
Uwaga
Ponieważ formaty i parametry adresów URL mogą ulec zmianie bez powiadomienia, użyj wszystkich adresów URL zgodnie z oczekiwaniami. Nie należy przyjmować zależności od formatu lub parametrów adresu URL, z wyjątkiem przypadków, w których jest to zaznaczone.
{
"_type": "SearchResponse",
"queryContext": {
"originalQuery": "restaurant in Bellevue"
},
"places": {
"totalEstimatedMatches": 10,
. . .
Atrybuty wyników wyszukiwania
Wyniki JSON zwracane przez interfejs API zawierają następujące atrybuty:
- _Typu
- adres
- entityPresentationInfo
- Geo
- identyfikator
- name
- routeablePoint
- telefon
- url
Aby uzyskać ogólne informacje o nagłówkach, parametrach, kodach rynku, obiektach odpowiedzi, błędach itp., zobacz dokumentację interfejsu API wyszukiwania lokalnego Bing w wersji 7 .
Uwaga
Użytkownik lub inna firma w Twoim imieniu nie może używać, przechowywać, przechowywać, przechowywać, buforować, udostępniać ani rozpowszechniać żadnych danych z interfejsu API wyszukiwania lokalnego na potrzeby testowania, opracowywania, trenowania, rozpowszechniania lub udostępniania żadnych usług lub funkcji innych firm.
Przykładowa odpowiedź JSON
Następująca odpowiedź JSON zawiera wyniki wyszukiwania określone przez zapytanie ?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"
}
}
}
Ograniczanie żądań
Usługa i typ subskrypcji decydują o liczbie zapytań, które możesz wykonywać na sekundę. Upewnij się, że Twoja aplikacja zawiera logikę niezbędną do nieprzekraczania tego limitu przydziału. W przypadku osiągnięcia lub przekroczenia limitu liczby zapytań na sekundę żądanie kończy się niepowodzeniem i jest zwracany kod stanu HTTP 429. Odpowiedź zawiera nagłówek Retry-After
, która wskazuje, jak długo należy zaczekać przed wysłaniem kolejnego żądania.
Odmowa usługi a ograniczanie przepustowości
Usługa odróżnia atak typu „odmowa usługi” (DoS) od naruszenia liczby zapytań na sekundę. Jeśli usługa podejrzewa atak DoS, żądanie kończy się powodzeniem (kod stanu HTTP to 200 OK). Treść odpowiedzi jest jednak pusta.