Introdução
O serviço Place Photos (novo) é uma API somente leitura que permite adicionar conteúdo fotográfico de alta qualidade ao seu aplicativo. Com o Place Photos (novo), você tem acesso a milhões de fotos armazenadas no banco de dados do Places.
Quando você recebe informações de lugar usando uma solicitação de Place Details (novo), Nearby Search (novo) ou Text Search (novo), também é possível solicitar recursos de fotos para conteúdo fotográfico relevante. Usando o Place Photos (novo), é possível acessar as fotos referenciadas e redimensionar a imagem de acordo com o tamanho ideal para o aplicativo.
Com o APIs Explorer, você pode fazer solicitações em tempo real para se familiarizar com a API e as opções dela:
Solicitações do Place Photos (novo)
Uma solicitação de fotos de lugares (nova) é uma solicitação HTTP GET para um URL no formato:https://places.googleapis.com/v1/NAME/media?key=API_KEY&PARAMETERS
Em que os seguintes parâmetros são obrigatórios:
- NAME contém o nome do recurso da foto.
- API_KEY contém a chave de API.
- PARAMETERS contém o parâmetro
maxHeightPx
, o parâmetromaxWidthPx
ou ambos.
A lista completa de parâmetros obrigatórios e opcionais está descrita abaixo.
Parâmetros obrigatórios
Nome da foto
Um identificador de string que identifica uma foto de maneira exclusiva. Os nomes das fotos são retornados de uma solicitação Place Details (novo), Nearby Search (novo) ou Text Search (novo)
na propriedade name
de cada elemento da matriz photos[]
.
Por exemplo, consulte Receber o nome de uma foto.
maxHeightPx e maxWidthPx
Especifica a altura e a largura máximas pretendidas da imagem, em pixels. Se a imagem for menor que os valores especificados, a original será retornada. Se a imagem for maior em qualquer uma das dimensões, ela será dimensionada para corresponder à menor das duas dimensões, restrita à proporção original. As propriedades "maxheight" e "maxwidth" aceitam um número inteiro entre 1 e 4800.
É necessário especificar maxHeightPx
, maxWidthPx
ou ambos.
Parâmetros opcionais
skipHttpRedirect
Se false
(padrão), faça um redirecionamento HTTP para a imagem e retorne a imagem.
Se true
, pule o redirecionamento e retorne uma resposta JSON com os detalhes da imagem.
Exemplo:
{ "name": "places/ChIJj61dQgK6j4AR4GeTYWZsKWw/photos/Aaw_FcKly0DEv3EWmDJyHiEqXIP5mowOc99lN1GzBun6KHH52AZ5fFA/media", "photoUri": "https://lh3.googleusercontent.com/a-/AD_cFT-b=s100-p-k-no-mo" }
Essa opção é ignorada para solicitações não HTTP.
Receber o nome de uma foto
Todas as solicitações para Place Photos (novo) precisam incluir um nome de recurso de foto, retornado na resposta a uma solicitação de Nearby Search (novo), Text Search (novo) ou Place Details (novo). A resposta a essas solicitações contém uma matriz photos[]
se o lugar tiver conteúdo fotográfico relacionado.
Cada elemento de photo[]
contém os seguintes campos:
name
: uma string que contém o nome do recurso da foto quando você faz uma solicitação de foto. Essa string está no formato:places/PLACE_ID/photos/PHOTO_RESOURCE
heightPx
: a altura máxima da imagem, em pixels.widthPx
: a largura máxima da imagem, em pixels.authorAttributions[]
: todas as atribuições necessárias. Esse campo está sempre presente, mas pode estar vazio.
As fotos retornadas pelo Place Photos (novo) têm origem em vários locais, inclusive de proprietários de empresas e imagens enviadas pelos usuários. Na maioria dos casos, essas fotos podem ser usadas sem atribuição ou a atribuição necessária vai ser incluída na imagem. No entanto, se o elemento photo
retornado incluir um valor no campo authorAttributions
, será necessário incluir a atribuição adicional no aplicativo sempre que você mostrar a imagem.
O exemplo a seguir mostra uma solicitação de detalhes do lugar (novo) que
inclui photos
na máscara de campo para que a resposta
inclua a matriz photos[]
na resposta:
curl -X GET \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: id,displayName,photos" \ https://places.googleapis.com/v1/places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E
photos[]
na resposta.
... "photos" : [ { "name": "places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E/photos/AUacShh3_Dd8yvV2JZMtNjjbbSbFhSv-0VmUN-uasQ2Oj00XB63irPTks0-A_1rMNfdTunoOVZfVOExRRBNrupUf8TY4Kw5iQNQgf2rwcaM8hXNQg7KDyvMR5B-HzoCE1mwy2ba9yxvmtiJrdV-xBgO8c5iJL65BCd0slyI1", "widthPx": 6000, "heightPx": 4000, "authorAttributions": [ { "displayName": "John Smith", "uri": "//maps.google.com/maps/contrib/101563", "photoUri": "//lh3.googleusercontent.com/a-/AD_cFT-b=s100-p-k-no-mo" } ] }, ...
Pedir uma foto de um lugar
O exemplo de solicitação abaixo retorna uma imagem usando o recurso name
, redimensionando-a para que tenha no máximo 400 pixels de altura e largura:
https://places.googleapis.com/v1/places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E/photos/ATKogpeivkIjQ1FT7QmbeT33nBSwqLhdPvIWHfrG1WfmgrFjeZYpS_Ls7c7rj8jejN9QGzlx4GoAH0atSvUzATDrgrZic_tTEJdeITdWL-oG3TWi5HqZoLozrjTaxoAIxmROHfV5KXVcLeTdCC6kmZExSy0CLVIG3lAPIgmvUiewNf-ZHYE4-jXYwPQpWHJgqVosvZJ6KWEgowEA-qRAzNTu9VH6BPFqHakGQ7EqBAeYOiU8Dh-xIQC8FcBJiTi0xB4tr-MYXUaF0p_AqzAhJcDE6FAgLqG1s7EsME0o36w2nDRHA-IuoISBC3SIahINE3Xwq2FzEZE6TpNTFVfgTpdPhV8CGLeqrauHn2I6ePm-2hA8-87aO7aClXKJJVzlQ1dc_JuHz6Ks07d2gglw-ZQ3ibCTF5lMtCF9O-9JHyRQXsfuXw/media?maxHeightPx=400&maxWidthPx=400&key=API_KEY
A resposta de uma solicitação bem-sucedida de Place Photos (novo) é uma imagem.
Códigos de erro
As solicitações da API Place Photos (New) podem retornar os seguintes códigos de erro.
Cota excedida (403)
Se a solicitação exceder a cota disponível, o servidor vai retornar um status HTTP 403 e mostrar a seguinte imagem para indicar que a cota foi excedida:

Solicitação inválida (404)
Se o servidor não conseguir entender sua solicitação, ele vai retornar o status HTTP 400, que indica uma solicitação inválida. Os motivos mais comuns para um pedido inválido incluem:
- O nome da foto enviada não foi especificado corretamente.
- A solicitação não incluiu o parâmetro
maxHeightPx
oumaxWidthPx
. - O valor do parâmetro
maxHeightPx
oumaxWidthtPx
foi definido comonull
. - O
name
expirou. Se oname
expirar, faça uma solicitação para Place Details (novo), Nearby Search (novo) ou Text Search (novo) para receber um novoname
.
Excesso de solicitações (429)
O Google recomenda carregar fotos sob demanda. Se você tentar mostrar todas as imagens de um lugar de uma vez, o servidor poderá retornar um status HTTP 429 indicando que muitas fotos foram carregadas ao mesmo tempo. Se você receber essa mensagem de erro, entre em contato com o suporte e peça um aumento na cota.
Confira!
Com o API Explorer, é possível fazer solicitações de amostra para se familiarizar com a API e as opções dela.
Para fazer uma solicitação:
- Selecione o ícone da API no lado direito da página.
- Defina o parâmetro
name
como:places/PLACE_ID/photos/PHOTO_RESOURCE/media
- Defina
skipHttpRedirect
comotrue
para que a solicitação retorne uma resposta JSON. Por padrão, a solicitação retorna a imagem, que não pode ser mostrada pelo APIs Explorer. - Selecione o botão Executar. Na caixa de diálogo, escolha a conta que você quer usar para fazer a solicitação.
-
No painel do API Explorer, selecione o ícone de tela cheia
para expandir a janela do API Explorer.