Partilhar via


Enviar e utilizar consultas e respostas da API de Pesquisa de Empresas Locais do Bing

Aviso

A 30 de outubro de 2020, as APIs de Pesquisa do Bing passaram dos serviços de IA do Azure para os Serviços Pesquisa do Bing. Esta documentação é fornecida apenas para referência. Para obter documentação atualizada, veja a documentação da API de pesquisa do Bing. Para obter instruções sobre como criar novos recursos do Azure para a pesquisa do Bing, veja Criar um recurso de Pesquisa do Bing através do Azure Marketplace.

Pode obter resultados locais da API de Pesquisa de Empresas Locais do Bing ao enviar uma consulta de pesquisa para o respetivo ponto final e incluindo o Ocp-Apim-Subscription-Key cabeçalho, que é necessário. Juntamente com os cabeçalhos e parâmetros disponíveis, as Pesquisas podem ser personalizadas ao especificar limites geográficos para a área a ser pesquisada e as categorias de locais devolvidos .

Criar um pedido

Para enviar um pedido para a API de Pesquisa de Empresas Locais do Bing, acrescente um termo de pesquisa ao parâmetro antes de o q= adicionar ao ponto final da API e incluir o Ocp-Apim-Subscription-Key cabeçalho. Por exemplo:

https://api.cognitive.microsoft.com/bing/localbusinesses/v7.0/search?q=restaurant+in+Bellevue

A sintaxe completa do URL do pedido é apresentada abaixo. Veja os inícios rápidos da API de Pesquisa de Empresas Locais do Bing e veja o conteúdo de referência para cabeçalhos e parâmetros para obter mais informações sobre o envio de pedidos.

Para obter informações sobre categorias de pesquisa locais, veja Categorias de pesquisa para a API de Pesquisa de Empresas Locais do Bing.

https://api.cognitive.microsoft.com/bing/v7.0/localbusinesses/search[?q][&localCategories][&cc][&mkt][&safesearch][&setlang][&count][&first][&localCircularView][&localMapView]

Utilizar respostas

As respostas JSON da API de Pesquisa de Empresas Locais do Bing contêm um SearchResponse objeto. A API devolverá resultados de pesquisa relevantes no places campo. se não forem encontrados resultados, o places campo não será incluído na resposta.

Nota

Uma vez que os formatos de URL e os parâmetros estão sujeitos a alterações sem aviso prévio, utilize todos os URLs tal como estão. Não deve assumir dependências no formato ou parâmetros do URL, exceto quando indicado.

{
   "_type": "SearchResponse",
   "queryContext": {
      "originalQuery": "restaurant in Bellevue"
   },
   "places": {
      "totalEstimatedMatches": 10,
. . . 

Procurar atributos de resultados

Os resultados JSON devolvidos pela API incluem os seguintes atributos:

  • _type
  • address
  • entityPresentationInfo
  • geo
  • ID
  • name
  • routeablePoint
  • telefone
  • url

Para obter informações gerais sobre cabeçalhos, parâmetros, códigos de mercado, objetos de resposta, erros, etc., veja a referência da API de Pesquisa Local do Bing v7 .

Nota

O utilizador, ou um terceiro em seu nome, não pode utilizar, reter, armazenar, colocar em cache, partilhar ou distribuir quaisquer dados da API de Pesquisa Local com o objetivo de testar, desenvolver, preparar, distribuir ou disponibilizar qualquer serviço ou funcionalidade que não seja da Microsoft.

Resposta JSON de exemplo

A seguinte resposta JSON inclui os resultados da pesquisa especificados pela consulta ?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"
    }
  }
}
 

Limitar pedidos

O serviço e o seu tipo de subscrição determinam o número de consultas por segundo (QPS) que pode fazer. Certifique-se de que a sua aplicação inclui a lógica necessária para se manter na sua quota. Se o limite de QPS for atingido ou excedido, o pedido falha e é devolvido um código de estado HTTP 429. A resposta inclui o cabeçalho Retry-After, que indica o tempo que tem de esperar antes de poder enviar outro pedido.

Denial of service versus Limitação

O serviço diferencia entre um ataque denial of service (DoS) e uma violação de QPS. Se o serviço suspeitar de um ataque DoS, o pedido é realizado com êxito (o código de estado HTTP é 200 OK). No entanto, o corpo da resposta está vazio.

Passos seguintes