Wprowadzenie
Usługa Place Photos (New) to interfejs API tylko do odczytu, który umożliwia dodawanie do aplikacji wysokiej jakości treści fotograficznych. Usługa Place Photos (New) zapewnia dostęp do milionów zdjęć przechowywanych w bazie danych Miejsc.
Gdy uzyskujesz informacje o miejscu za pomocą żądania Place Details (New), Nearby Search (New) lub Text Search (New), możesz też poprosić o zasoby zdjęć dotyczące odpowiednich treści fotograficznych. Korzystając z usługi Place Photos (New), możesz uzyskać dostęp do zdjęć, do których się odwołujesz, i zmienić ich rozmiar na optymalny dla Twojej aplikacji.
Narzędzie API Explorer umożliwia wysyłanie żądań w czasie rzeczywistym, dzięki czemu możesz zapoznać się z interfejsem API i jego opcjami:
.Prośby dotyczące Zdjęć miejsca (nowość)
Żądanie Place Photos (New) to żądanie HTTP GET wysyłane na adres URL w formacie:https://places.googleapis.com/v1/NAME/media?key=API_KEY&PARAMETERS
Wymagane są te parametry:
- NAME zawiera nazwę zasobu zdjęcia.
- API_KEY zawiera klucz interfejsu API.
- PARAMETERS zawiera parametr
maxHeightPx
, parametrmaxWidthPx
lub oba te parametry.
Pełną listę wymaganych i opcjonalnych parametrów znajdziesz poniżej.
Wymagane parametry
Nazwa zdjęcia
Identyfikator w postaci ciągu znaków, który jednoznacznie identyfikuje zdjęcie. Nazwy zdjęć są zwracane w odpowiedzi na żądanie Szczegóły miejsca (nowe), Wyszukiwanie w pobliżu (nowe) lub Wyszukiwanie tekstowe (nowe)
we właściwości name
każdego elementu tablicy photos[]
.
Przykład znajdziesz w artykule Pobieranie nazwy zdjęcia.
maxHeightPx i maxWidthPx
Określa maksymalną wysokość i szerokość obrazu w pikselach. Jeśli obraz jest mniejszy niż podane wartości, zostanie zwrócony oryginalny obraz. Jeśli obraz jest większy w jednym z wymiarów, zostanie przeskalowany tak, aby pasował do mniejszego z nich, z zachowaniem pierwotnego formatu. Właściwości maxheight i maxwidth akceptują liczbę całkowitą z zakresu od 1 do 4800.
Musisz określić maxHeightPx
lub maxWidthPx
albo oba te atrybuty.
Parametry opcjonalne
skipHttpRedirect
Jeśli false
(domyślnie), wykonaj przekierowanie HTTP do obrazu, aby go zwrócić.
Jeśli true
, pomiń przekierowanie i zwróć odpowiedź JSON zawierającą szczegóły obrazu.
Na przykład:
{ "name": "places/ChIJj61dQgK6j4AR4GeTYWZsKWw/photos/Aaw_FcKly0DEv3EWmDJyHiEqXIP5mowOc99lN1GzBun6KHH52AZ5fFA/media", "photoUri": "https://lh3.googleusercontent.com/a-/AD_cFT-b=s100-p-k-no-mo" }
Ta opcja jest ignorowana w przypadku żądań innych niż HTTP.
Pobieranie nazwy zdjęcia
Wszystkie żądania dotyczące usługi Place Photos (New) muszą zawierać nazwę zasobu zdjęcia, która jest zwracana w odpowiedzi na żądanie Nearby Search (New), Text Search (New) lub Place Details (New). Odpowiedź na te żądania zawiera tablicę photos[]
, jeśli miejsce ma powiązane treści fotograficzne.
Każdy element photo[]
zawiera te pola:
name
– ciąg tekstowy zawierający nazwę zasobu zdjęcia, gdy wysyłasz żądanie dotyczące zdjęcia. Ciąg znaków ma postać:places/PLACE_ID/photos/PHOTO_RESOURCE
heightPx
– maksymalna wysokość obrazu w pikselach.widthPx
– maksymalna szerokość obrazu w pikselach.authorAttributions[]
– wszelkie wymagane informacje o autorze. To pole jest zawsze obecne, ale może być puste.
Zdjęcia zwracane przez interfejs Place Photos (New) pochodzą z różnych źródeł, m.in. od właścicieli firm i użytkowników. W większości przypadków można ich używać bez podawania atrybucji lub wymagana atrybucja jest częścią obrazu. Jeśli jednak zwrócony element photo
zawiera wartość w polu authorAttributions
, musisz dodać dodatkowe informacje o autorze w aplikacji wszędzie tam, gdzie wyświetlasz obraz.
Poniższy przykład pokazuje żądanie szczegółów miejsca (nowe), które zawiera photos
w masce pola, dzięki czemu odpowiedź zawiera tablicę 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[]
w odpowiedzi.
... "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" } ] }, ...
Prośba o zdjęcie miejsca
Poniższe przykładowe żądanie zwraca obraz przy użyciu jego zasobu name
, zmieniając jego rozmiar tak, aby miał maksymalnie 400 pikseli wysokości i szerokości:
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
Odpowiedzią na udaną prośbę dotyczącą zdjęć miejsc (nowa wersja) jest obraz.
Kody błędów
Żądania Place Photos (New) mogą zwracać te kody błędów:
Przekroczono limit (403)
Jeśli Twoje żądanie przekracza dostępny limit, serwer zwraca stan HTTP 403 i wyświetla poniższy obraz, aby wskazać, że limit został przekroczony:

Nieprawidłowe żądanie (404)
Jeśli serwer nie może zrozumieć Twojego żądania, zwraca stan HTTP 400, który wskazuje na nieprawidłowe żądanie. Najczęstsze przyczyny nieprawidłowego żądania to:
- Przesłana nazwa zdjęcia została nieprawidłowo określona.
- Żądanie nie zawierało parametru
maxHeightPx
animaxWidthPx
. - Wartość parametru
maxHeightPx
lub parametrumaxWidthtPx
została ustawiona nanull
. name
wygasła. Jeśliname
wygaśnie, wyślij żądanie do usługi Place Details (New), Nearby Search (New) lub Text Search (New), aby uzyskać nowyname
.
Zbyt wiele żądań (429)
Google zaleca wczytywanie zdjęć na żądanie. Jeśli spróbujesz wyświetlić wszystkie zdjęcia miejsca naraz, serwer może zwrócić stan HTTP 429, co oznacza, że zbyt wiele zdjęć jest ładowanych w tym samym czasie. Jeśli pojawi się ten komunikat o błędzie, skontaktuj się z zespołem pomocy i poproś o zwiększenie limitu.
Wypróbuj
Narzędzie API Explorer umożliwia wysyłanie przykładowych żądań, dzięki czemu możesz zapoznać się z interfejsem API i jego opcjami.
Aby przesłać prośbę:
- Po prawej stronie strony kliknij ikonę API .
- Ustaw parametr
name
na:places/PLACE_ID/photos/PHOTO_RESOURCE/media
- Ustaw wartość
skipHttpRedirect
natrue
, aby żądanie zwracało odpowiedź w formacie JSON. Domyślnie żądanie zwraca obraz, którego Eksplorator interfejsu API nie może wyświetlić. - Kliknij przycisk Wykonaj. W oknie dialogowym wybierz konto, którego chcesz użyć do wysłania prośby.
-
W panelu API Explorer kliknij ikonę pełnego ekranu
, aby rozwinąć okno API Explorer.