Место фото (новое)

Сервис Place Photo (новый) — это API, доступный только для чтения, который позволяет добавлять в приложение высококачественный фотографический контент. Сервис Place Photo предоставляет вам доступ к миллионам фотографий, хранящихся в базе данных Places.

Когда вы получаете информацию о месте с помощью запроса «Сведения о месте», «Поиск поблизости» или «Текстовый поиск», вы также можете запросить фоторесурсы для соответствующего фотографического контента. Используя службу фотографий, вы можете получить доступ к указанным фотографиям и изменить размер изображения до оптимального размера для вашего приложения.

API Explorer позволяет вам делать запросы в реальном времени, чтобы вы могли ознакомиться с API и опциями API:

Попробуй это!

Размещать запросы на фото

Запрос Place Photo — это HTTP-запрос GET к URL-адресу в форме:
https://places.googleapis.com/v1/NAME/media?key=API_KEY&PARAMETERS

Где необходимы следующие параметры:

  • NAME содержит имя ресурса фотографии.
  • API_KEY содержит ключ API.
  • PARAMETERS содержит параметр maxHeightPx , параметр maxWidthPx или оба параметра.

Полный список обязательных и дополнительных параметров описан ниже.

Обязательные параметры

Название фотографии

Строковый идентификатор, однозначно идентифицирующий фотографию. Названия фотографий возвращаются из запроса Place Details (New) , Nearby Search (New) или Text Search (New) в свойстве name каждого элемента массива photos[] .

Пример см. в разделе Получение имени фотографии .

maxHeightPx и maxWidthPx

Указывает максимальную желаемую высоту и ширину изображения в пикселях. Если изображение меньше указанных значений, будет возвращено исходное изображение. Если изображение больше в любом измерении, оно будет масштабировано в соответствии с меньшим из двух измерений с ограничением исходного соотношения сторон. Оба свойства maxheight и maxwidth принимают целое число от 1 до 4800.

Вы должны указать либо maxHeightPx , либо maxWidthPx , либо оба.

Дополнительные параметры

пропуститьHttpRedirect

Если значение false (по умолчанию), выполните перенаправление HTTP на изображение, чтобы вернуть изображение. Если true , пропустите перенаправление и верните ответ JSON, содержащий изображение с ошибкой. Например:

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

Эта опция игнорируется для запросов, отличных от HTTP.

Получить название фотографии

Все запросы к сервису фотографий мест должны включать название фоторесурса, возвращаемое в ответ на поиск поблизости, текстовый поиск или запрос сведений о месте. Ответ на эти запросы содержит массив photos[] если место имеет связанный фотографический контент.

Каждый элемент photo[] содержит следующие поля:

  • name — строка, содержащая имя ресурса фотографии при выполнении запроса фотографии. Эта строка имеет вид:

    places/PLACE_ID/photos/PHOTO_RESOURCE
  • heightPx — Максимальная высота изображения в пикселях.
  • widthPx — Максимальная ширина изображения в пикселях.
  • authorAttributions[] — Любые необходимые сведения об авторстве. Это поле всегда присутствует, но может быть пустым.

Фотографии, возвращаемые службой фотографий, берутся из разных мест, включая фотографии владельцев бизнеса и фотографии, предоставленные пользователями. В большинстве случаев эти фотографии можно использовать без указания авторства или они будут иметь необходимое указание авторства как часть изображения. Однако если возвращаемый элемент photo содержит значение в authorAttributions , вы должны включить дополнительную атрибуцию в свое приложение, где бы вы ни отображали изображение.

В следующем примере показан запрос Place Details, который включает photos в маску поля, поэтому ответ включает в себя массив 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
Пример массива photos[] в ответе показан ниже.
    ...
    "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"
          }
        ]
      },    ...

Запросить фото места

Пример запроса ниже возвращает изображение, используя name его ресурса, изменяя его размер так, чтобы его высота и ширина не превышали 400 пикселей:

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

Ответом на успешный запрос Place Photo является изображение. Тип изображения зависит от типа изначально представленной фотографии.

Если ваш запрос превышает доступную квоту, сервер возвращает статус HTTP 403 и отображает изображение ниже, указывающее, что квота превышена:

Изображение превышения квоты

Если сервер не может понять ваш запрос, он возвращает статус HTTP 400, что указывает на недействительный запрос. К наиболее частым причинам недействительного запроса относятся:

Попробуй это!

API Explorer позволяет вам создавать примеры запросов, чтобы вы могли ознакомиться с API и опциями API.

Обращаться с просьбой:

  1. Установите для параметра name значение:
    places/PLACE_ID/photos/PHOTO_RESOURCE/media
  2. Установите для skipHttpRedirect значение true , чтобы запрос возвращал ответ в формате JSON. По умолчанию запрос возвращает изображение, которое не может отобразиться API Explorer.
  3. Нажмите кнопку «Выполнить» . Во всплывающем окне выберите учетную запись, которую вы хотите использовать для отправки запроса.