Photo du lieu (nouveau)

Le service Place Photo (New) est une API en lecture seule qui vous permet d'ajouter du contenu photographique de haute qualité à votre application. Le service Place Photo vous donne accès à des millions de photos stockées dans la base de données Places.

Lorsque vous obtenez des informations sur un lieu à l'aide d'une requête Place Details, Nearby Search ou Text Search, vous pouvez également demander des ressources photo pour le contenu photographique pertinent. À l'aide du service Photo, vous pouvez ensuite accéder aux photos référencées et redimensionner l'image pour qu'elle s'adapte parfaitement à votre application.

APIs Explorer vous permet d'envoyer des requêtes actives afin de vous familiariser avec l'API et ses options:

Essayer

Requêtes Place Photo

Une requête Place Photo est une requête HTTP GET envoyée à une URL au format suivant :
https://places.googleapis.com/v1/NAME/media?key=API_KEY&PARAMETERS

Lorsque les paramètres suivants sont obligatoires:

  • NAME contient le nom de ressource de la photo.
  • API_KEY contient la clé API.
  • PARAMETERS contient le paramètre maxHeightPx, le paramètre maxWidthPx ou les deux.

La liste complète des paramètres obligatoires et facultatifs est décrite ci-dessous.

Paramètres obligatoires

Nom de la photo

Identifiant de chaîne qui identifie une photo de manière unique. Les noms de photos sont renvoyés à partir d'une requête Place Details (New), Nearby Search (New) ou Text Search (New) dans la propriété name de chaque élément du tableau photos[].

Pour obtenir un exemple, consultez Obtenir un nom de photo.

maxHeightPx et maxWidthPx

Spécifie la hauteur et la largeur maximales souhaitées, en pixels, de l'image. Si l'image est plus petite que les valeurs spécifiées, l'image d'origine est renvoyée. Si l'image est plus grande dans l'une ou l'autre des dimensions, elle sera mise à l'échelle pour correspondre à la plus petite des deux dimensions, dans la limite de ses proportions d'origine. Les propriétés maxheight et maxwidth acceptent un entier compris entre 1 et 4 800.

Vous devez spécifier maxHeightPx, maxWidthPx ou les deux.

Paramètres facultatifs

skipHttpRedirect

Si la valeur est false (par défaut), effectuez une redirection HTTP vers l'image pour la renvoyer. Si la valeur est true, ignorez la redirection et renvoyez une réponse JSON contenant les défaillances de l'image. Exemple :

{
  "name": "places/ChIJj61dQgK6j4AR4GeTYWZsKWw/photos/Aaw_FcKly0DEv3EWmDJyHiEqXIP5mowOc99lN1GzBun6KHH52AZ5fFA/media",
  "photoUri": "https://lh3.googleusercontent.com/a-/AD_cFT-b=s100-p-k-no-mo"
}

Cette option est ignorée pour les requêtes autres que HTTP.

Obtenir un nom de photo

Toutes les requêtes envoyées au service Place Photo doivent inclure un nom de ressource de photo, renvoyé dans la réponse à une requête Nearby Search, Text Search ou Place Details. La réponse à ces requêtes contient un tableau photos[] si le lieu présente du contenu photographique associé.

Chaque élément de photo[] contient les champs suivants:

  • name : chaîne contenant le nom de ressource de la photo lorsque vous effectuez une requête de photo. Cette chaîne est au format suivant:

    places/PLACE_ID/photos/PHOTO_RESOURCE
  • heightPx : hauteur maximale de l'image, en pixels.
  • widthPx : largeur maximale de l'image, en pixels.
  • authorAttributions[] : toutes les attributions requises. Ce champ est toujours présent, mais peut être vide.

Les photos renvoyées par le service Photo proviennent de différentes sources, y compris celles des propriétaires d'établissements et des contributions des utilisateurs. Dans la plupart des cas, ces photos peuvent être utilisées sans attribution, ou la mention requise sera incluse dans l'image. Toutefois, si l'élément photo renvoyé inclut une valeur dans le champ authorAttributions, vous devez inclure l'attribution supplémentaire dans votre application partout où vous affichez l'image.

L'exemple suivant montre une requête Place Details incluant photos dans le masque de champ afin que la réponse inclue le tableau photos[]:

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
Vous trouverez ci-dessous un exemple de tableau photos[] dans la réponse.
    ...
    "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"
          }
        ]
      },    ...

Demander une photo de lieu

L'exemple de requête ci-dessous renvoie une image à l'aide de sa ressource name, en la redimensionnant pour qu'elle mesure au maximum 400 pixels de haut et de large:

https://places.googleapis.com/v1/places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E/photos/AUacShh3_Dd8yvV2JZMtNjjbbSbFhSv-0VmUN-uasQ2Oj00XB63irPTks0-A_1rMNfdTunoOVZfVOExRRBNrupUf8TY4Kw5iQNQgf2rwcaM8hXNQg7KDyvMR5B-HzoCE1mwy2ba9yxvmtiJrdV-xBgO8c5iJL65BCd0slyI1/media?maxHeightPx=400&maxWidthPx=400&key=API_KEY

La réponse d'une requête Place Photo réussie est une image. Le type de l'image dépend de celui de la photo envoyée à l'origine.

Si votre requête dépasse votre quota disponible, le serveur renvoie un état HTTP 403 et affiche l'image ci-dessous pour indiquer que le quota a été dépassé:

Image "Over Quota" (Dépassement du quota)

Si le serveur ne parvient pas à comprendre votre requête, il renvoie l'état HTTP 400, qui indique une requête non valide. Voici les raisons les plus courantes d'une requête non valide:

  • Le nom de photo envoyé n'a pas été spécifié correctement.
  • La requête n'incluait pas le paramètre maxHeightPx ni le paramètre maxWidthPx.
  • La valeur du paramètre maxHeightPx ou maxWidthtPx a été définie sur null.
  • Le name a expiré. Si name expire, envoyez une requête à Place Details (New), Nearby Search (New) ou Text Search (New) pour obtenir un nouveau name.

Essayer

API Explorer vous permet de créer des exemples de requêtes afin de vous familiariser avec l'API et ses options.

Pour envoyer une demande:

  1. Sélectionnez l'icône API Développez APIs Explorer. sur le côté droit de la page.
  2. Définissez le paramètre name sur :
    places/PLACE_ID/photos/PHOTO_RESOURCE/media
  3. Définissez skipHttpRedirect sur true pour que la requête renvoie une réponse JSON. Par défaut, la requête renvoie l'image, qui ne peut pas être affichée par APIs Explorer.
  4. Sélectionnez le bouton Execute (Exécuter). Dans la fenêtre pop-up, sélectionnez le compte que vous souhaitez utiliser pour effectuer la requête.
  5. Dans le panneau de l'explorateur d'API, sélectionnez l'icône de développement Développez APIs Explorer. pour développer la fenêtre de l'explorateur d'API.