Udostępnij za pośrednictwem


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.

Następne kroki