장소 사진 (신규)

플랫폼 선택: Android iOS 웹 서비스

장소 사진 (신규) 서비스는 고품질 사진 콘텐츠를 애플리케이션에 추가할 수 있는 읽기 전용 API입니다. 장소 사진 서비스를 사용하면 장소 데이터베이스에 저장된 수백만 개의 사진에 액세스할 수 있습니다.

장소 세부정보, 주변 검색 또는 텍스트 검색 요청을 사용하여 장소 정보를 가져올 때 관련 사진 콘텐츠의 사진 리소스를 요청할 수도 있습니다. 그런 다음 사진 서비스를 사용하여 참조된 사진에 액세스하고 이미지를 애플리케이션에 가장 적합한 크기로 조정할 수 있습니다.

API 탐색기를 사용하면 실시간 요청을 수행하여 API 및 API 옵션에 익숙해질 수 있습니다.

실습

장소 사진 요청

장소 사진 요청은 다음과 같은 형식의 URL에 대한 HTTP GET 요청입니다.
https://places.googleapis.com/v1/NAME/media?key=API_KEY&PARAMETERS

여기서 다음과 같은 매개변수가 필요합니다.

  • NAME에는 사진의 리소스 이름이 있습니다.
  • API_KEY에는 API 키가 포함됩니다.
  • PARAMETERS에는 maxHeightPx 매개변수나 maxWidthPx 매개변수 중 하나 또는 둘 다 포함됩니다.

필수 및 선택 매개변수의 전체 목록은 아래에 설명되어 있습니다.

필수 매개변수

사진 이름

사진을 고유하게 식별하는 문자열 식별자입니다. 사진 이름은 photos[] 배열에 있는 각 요소의 name 속성에 있는 장소 세부정보 (신규), 주변 검색 (신규) 또는 텍스트 검색 (신규) 요청에서 반환됩니다.

예를 보려면 사진 이름 가져오기를 참고하세요.

maxHeightPx 및 maxWidthPx

원하는 이미지의 최대 높이와 너비를 픽셀 단위로 지정합니다. 이미지가 지정된 값보다 작으면 원본 이미지가 반환됩니다. 이미지의 어느 한 쪽이 더 큰 경우 원래 가로세로 비율로 제한되고 두 차원 중 더 작은 크기에 맞게 크기가 조정됩니다. maxheight 및 maxwidth 속성은 1부터 4800 사이의 정수를 허용합니다.

maxHeightPxmaxWidthPx 중 하나를 지정하거나 둘 다 지정해야 합니다.

선택적 매개변수

skipHttpRedirect

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 필드에 값이 포함된 경우 이미지를 표시할 때마다 애플리케이션에 추가 저작자 표시를 포함해야 합니다.

다음 예에서는 응답에 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

성공적인 장소 사진 요청의 응답은 이미지입니다. 이미지 유형은 원래 제출한 사진의 유형에 따라 다릅니다.

요청이 사용 가능한 할당량을 초과하면 서버에서 HTTP 403 상태를 반환하고 아래 이미지를 표시하여 할당량이 초과되었음을 표시합니다.

할당량 초과 이미지

서버가 요청을 이해할 수 없는 경우에는 요청이 잘못되었음을 나타내는 HTTP 400 상태를 반환합니다. 요청이 잘못된 가장 일반적인 이유는 다음과 같습니다.

  • 제출하신 사진 이름이 올바르게 지정되지 않았습니다.
  • 요청에 maxHeightPx 또는 maxWidthPx 매개변수가 포함되지 않았습니다.
  • maxHeightPx 또는 maxWidthtPx 매개변수의 값이 null로 설정되었습니다.
  • name이(가) 만료되었습니다. name가 만료되면 장소 세부정보 (신규), 주변 검색 (신규) 또는 텍스트 검색 (신규)에 요청하여 새 name를 가져옵니다.

사용해 보기

API 탐색기를 사용하면 샘플 요청을 수행하여 API 및 API 옵션에 익숙해질 수 있습니다.

요청하려면 다음 안내를 따르세요.

  1. 페이지 오른쪽에 있는 API 아이콘(API 탐색기를 펼칩니다.)을 선택합니다.
  2. name 매개변수를 다음으로 설정합니다.
    places/PLACE_ID/photos/PHOTO_RESOURCE/media
  3. 요청이 JSON 응답을 반환하도록 skipHttpRedirecttrue로 설정합니다. 기본적으로 요청은 API 탐색기에서 표시할 수 없는 이미지를 반환합니다.
  4. 실행 버튼을 선택합니다. 팝업에서 요청에 사용할 계정을 선택합니다.
  5. API 탐색기 패널에서 확장 아이콘(API 탐색기를 펼칩니다.)을 선택하여 API 탐색기 창을 펼칩니다.