Place Photos (nouveau)

Sélectionnez une plate-forme: Android iOS Service Web

Le service Place Photos (nouveau) est une API en lecture seule qui vous permet d'ajouter du contenu photographique de haute qualité à votre application. Place Photos (nouveau) 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 de Places Details (New), Nearby Search (New) ou Text Search (New), vous pouvez également demander des ressources photo pour le contenu photographique correspondant. Placer des photos (nouveau) vous permet ensuite d'accéder aux photos référencées et de redimensionner l'image pour qu'elle s'adapte parfaitement à votre application.

APIs Explorer vous permet d'effectuer des requêtes en temps réel afin de vous familiariser avec l'API et ses options:

Requêtes Place Photos (nouvelles)

Une requête "Place Photos (New)" est une requête HTTP GET envoyée à une URL sous la forme suivante:
https://places.googleapis.com/v1/NAME/media?key=API_KEY&PARAMETERS

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.

Vous trouverez ci-dessous la liste complète des paramètres obligatoires et facultatifs.

Paramètres obligatoires

Nom de la photo

Identifiant de chaîne qui identifie de manière unique une photo. Les noms des 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 le nom d'une photo.

maxHeightPx et maxWidthPx

Indique la hauteur et la largeur maximales prévues, 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 des dimensions, elle sera redimensionnée pour correspondre à la plus petite des deux dimensions, limitée à son format 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étails 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 non HTTP.

Obtenir le nom d'une photo

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

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

  • name : chaîne contenant le nom de la ressource de la photo lorsque vous effectuez une requête Photo. Cette chaîne se présente sous la forme suivante:

    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 obligatoires. Ce champ est toujours présent, mais peut être vide.

Les photos renvoyées par Place Photos (Nouveau) sont extraites de plusieurs sources : elles peuvent être fournies par des propriétaires d'établissement ou par des utilisateurs. Dans la plupart des cas, les photos de lieu peuvent être utilisées sans attribution, ou contiendront déjà l'attribution. 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 "Détails du lieu (nouveau)" qui inclut 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 d'un 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 x 400 pixels:

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 Photos (Nouveau) réussie est une image. Le type d'image dépend du type de photo envoyée initialement.

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é:

Notification de dépassement de 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 la photo envoyée n'a pas été correctement spécifié.
  • La requête n'incluait pas le paramètre maxHeightPx ou maxWidthPx.
  • La valeur du paramètre maxHeightPx ou maxWidthtPx était définie sur null.
  • Cet name est arrivé à expiration. Si name expire, envoyez une requête à Place Details (New) (Informations sur le lieu (nouvelle version)), Nearby Search (New) (Recherche à proximité (nouvelle version)) ou Text Search (New) (Recherche textuelle (nouvelle version)) pour obtenir un nouvel name.

Essayer

API Explorer vous permet d'envoyer 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 api à droite de la page.
  2. Définissez le paramètre name sur:
    places/PLACE_ID/photos/PHOTO_RESOURCE/media
    name
  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 API Explorer.
  4. Sélectionnez le bouton Execute (Exécuter). Dans la boîte de dialogue, choisissez le compte que vous souhaitez utiliser pour effectuer la demande.
  5. Dans le panneau API Explorer, sélectionnez l'icône plein écran fullscreen pour développer la fenêtre API Explorer.