Usługa Zdjęcie miejsca (nowa) to interfejs API tylko do odczytu, który umożliwia dodawanie do aplikacji wysokiej jakości treści fotograficznych. Usługa Zdjęcia Miejsc umożliwia dostęp do milionów zdjęć przechowywanych w bazie danych Miejsc.
Po otrzymaniu informacji o miejscu przy użyciu żądania „Szczegóły miejsca”, „Wyszukiwanie w pobliżu” lub „Wyszukiwanie tekstowe” możesz też poprosić o zasoby zdjęć dla odpowiednich treści fotograficznych. Korzystając z usługi Zdjęcia, możesz uzyskać dostęp do zdjęć, do których odwołuje się aplikacja, i zmienić rozmiar obrazu do optymalnego rozmiaru dla aplikacji.
Narzędzie API Explorer umożliwia wysyłanie żądań na żywo, dzięki czemu możesz zapoznać się z interfejsem API i jego opcjami:
WypróbujZdjęcia miejsca
Żądanie zdjęcia miejsca to żądanie HTTP GET do adresu URL w postaci:https://places.googleapis.com/v1/NAME/media?key=API_KEY&PARAMETERS
Gdy wymagane są te parametry:
- NAME zawiera nazwę zasobu zdjęcia.
- API_KEY zawiera klucz interfejsu API.
- PARAMETERS zawiera parametr
maxHeightPx
,maxWidthPx
lub oba.
Pełna lista wymaganych i opcjonalnych parametrów została podana poniżej.
Wymagane parametry
Nazwa zdjęcia
Identyfikator w postaci ciągu znaków, który jednoznacznie identyfikuje zdjęcie. Nazwy zdjęć są zwracane z żądania Szczegóły miejsca (nowa), Wyszukiwanie w pobliżu (nowa) lub Wyszukiwanie tekstu (nowa) w właściwości name
każdego elementu tablicy photos[]
.
Przykład znajdziesz w sekcji Uzyskiwanie nazwy zdjęcia.
maxHeightPx i maxWidthPx
Określa maksymalną wysokość i szerokość obrazu (w pikselach). Jeśli obraz jest mniejszy niż określone wartości, zwrócony zostanie oryginalny obraz. Jeśli obraz jest większy w jednym z wymiarów, zostanie przeskalowany, aby pasował do mniejszego z tych wymiarów, zachowując oryginalny format. Właściwości maxheight i maxwidth akceptują liczbę całkowitą z zakresu od 1 do 4800.
Musisz podać wartość maxHeightPx
, maxWidthPx
lub obie te wartości.
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
Żądania wysyłane do usługi Zdjęcia miejsca muszą zawierać nazwę zasobu zdjęcia zwracaną w odpowiedzi na żądanie Wyszukiwanie w pobliżu, Wyszukiwanie tekstowe lub Informacje o miejscu. 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 wykonujesz żądanie dotyczące zdjęcia. Ten ciąg 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 usługę Zdjęcia pochodzą z różnych źródeł, w tym od właścicieli firm i użytkowników. W większości przypadków można ich używać bez przypisów, ale mogą one zawierać wymagane informacje. Jeśli jednak zwrócony element photo
zawiera wartość w polu authorAttributions
, musisz dodać dodatkowe informacje o autorze w aplikacji w miejscu wyświetlania obrazu.
Poniższy przykład pokazuje żądanie informacji o miejscu, w którym maska pola zawiera atrybut photos
, tak by odpowiedź zawierała 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
Przykładowe żądanie poniżej zwraca obraz za pomocą zasobu name
, zmieniając jego rozmiar tak, aby miał co najwyżej 400 pikseli wysokości i szerokości:
https://places.googleapis.com/v1/places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E/photos/AUacShh3_Dd8yvV2JZMtNjjbbSbFhSv-0VmUN-uasQ2Oj00XB63irPTks0-A_1rMNfdTunoOVZfVOExRRBNrupUf8TY4Kw5iQNQgf2rwcaM8hXNQg7KDyvMR5B-HzoCE1mwy2ba9yxvmtiJrdV-xBgO8c5iJL65BCd0slyI1/media?maxHeightPx=400&maxWidthPx=400&key=API_KEY
Odpowiedź na żądanie dotyczące zdjęcia miejsca to obraz. Typ obrazu zależy od typu przesłanego pierwotnie zdjęcia.
Jeśli żądanie przekracza dostępną pulę, serwer zwraca stan HTTP 403 i wyświetla obrazek poniżej, aby wskazać, że limit został przekroczony:
Jeśli serwer nie zrozumie Twojego żądania, zwraca stan HTTP 400, co oznacza nieprawidłowe żądanie. Najczęstsze przyczyny nieprawidłowego żądania to:
- Podane imię i nazwisko są niezgodne z imieniem i nazwiskiem w przesłanym dokumencie tożsamości ze zdjęciem wydanym przez organ państwowy.
- Żądanie nie zawierało parametru
maxHeightPx
animaxWidthPx
. - Wartość parametru
maxHeightPx
lubmaxWidthtPx
została ustawiona nanull
. - Nagroda
name
wygasła. Jeśli parametrname
wygaśnie, poproś o szczegóły miejsca (nowe), wyszukiwanie w pobliżu (nowe) lub wyszukiwanie tekstowe (nowe), aby uzyskać nowyname
.
Wypróbuj
API Explorer umożliwia wykonywanie przykładowych żądań, aby zapoznać się z interfejsem API i jego opcjami.
Aby poprosić o zatwierdzenie:
- Po prawej stronie strony kliknij ikonę interfejsu API .
- Ustaw parametr
name
na:places/PLACE_ID/photos/PHOTO_RESOURCE/media
- Ustaw
skipHttpRedirect
natrue
, aby żądanie zwracało odpowiedź JSON. Domyślnie żądanie zwraca obraz, którego nie może wyświetlić API Explorer. - Kliknij przycisk Wykonaj. W wyskakującym okienku wybierz konto, którego chcesz użyć do wysłania żądania.
W panelu API Explorer kliknij ikonę rozwijania , aby rozwinąć okno API Explorer.