Sesje stanowią podstawę interfejsu Picker API, zapewniając bezpieczny i kontrolowany umożliwia użytkownikom wybieranie zdjęć i albumów z ich biblioteki Zdjęć Google. Z tego przewodnika dowiesz się, jak tworzyć sesje ankietowania, nimi zarządzać i skutecznie je przeprowadzać, aby umożliwić płynny wybór zdjęć w aplikacji.
Zanim rozpoczniesz
- Skonfiguruj aplikację:włącz interfejs API i skonfiguruj uwierzytelnianie. Zobacz Skonfiguruj aplikację, aby poznać szczegóły. kroków.
- Zapoznaj się z funkcją: przeczytaj, jak zacząć korzystać z interfejsu Picker API. znajdziesz poniżej opis całego procesu wyboru zdjęć.
- Sprawdź wymagane zakresy autoryzacji: praca z sesjami wymaga
Zakres:
photospicker.mediaitems.readonly
. Więcej informacji o zakresach Więcej informacji znajdziesz w sekcji Zakresy autoryzacji.
Cykl życia sesji
Interfejs Picker API udostępnia metody tworzenia, pobierania informacji o usunąć sesje. Po uwierzytelnieniu użytkowników możesz używać sesji do zarządzania w cyklu wyboru zdjęć.
- Utwórz sesję, aby umożliwić użytkownikowi wybranie elementów multimedialnych.
- Przeprowadź ankietę w ramach sesji, aby sprawdzić, kiedy użytkownik skończono wybierać elementy multimedialne.
- Wyświetl listę i pobierz elementy multimedialne.
- Wyczyść sesję, usuwając ją.
Utwórz sesje
Utwórz sesję, aby użytkownicy mogli bezpiecznie wybierać zdjęcia bezpośrednio z aplikacji Zdjęcia Google i udostępniać je w Twojej aplikacji.
Funkcja sessions.create
generuje nową sesję, zwracając unikalny pickerUri
, który
które możesz prezentować użytkownikom. Sesja pozostanie aktywna do czasu, gdy użytkownik
udało się wybrać elementy multimedialne albo upłynął limit czasu sesji.
Ograniczenia sesji
Pamiętaj o limitach sesji. Interfejs Picker API nakłada limity na liczbę sesji, które możesz utworzyć, aby zapewnić odpowiedzialne korzystanie i zapobiec nadużyciom. Poniżej w normalnych okolicznościach nie jest prawdopodobne, że osiągniesz te limity. Zalecamy jednak aktywnie śledzić i usuwać sesje, aby uniknąć problemów.
Przeprowadzaj ankiety i monitoruj sesje
Po utworzeniu sesji okresowo sprawdzaj punkt końcowy sessions.get
, aby uzyskać stan sesji. W odpowiedzi zwracana jest właściwość mediaItemsSet
.
true
, gdy użytkownik zakończy zaznaczanie.
Pamiętaj o używaniu efektywnego odpytywania. Odpowiedź sessions.get
zawiera parametr
pollingConfig
obiekt. Użyj tych pól, aby uniknąć zbędnych danych
i zapewniają wygodę użytkowników:
pollInterval
: optymalne odstępy odpytywaniatimeoutIn
: czas oczekiwania
Więcej informacji znajdziesz w sekcji Przykładowy proces odpytywania.
Usuwanie i czyszczenie sesji
sessions.delete
usuwa sesję, zwykle używana do czyszczenia po użytkowniku
zakończył(a) wybieranie multimediów lub sesja wygasła.
Sprawdzoną metodą jest usuwanie sesji po wybraniu elementów multimedialnych przez użytkownika. a aplikacja pobrała element multimedialny bajtów.
Przykładowy przepływ odpytywania
To jest przykład tworzenia i odpytywania sesji. Po pierwszym uwierzytelnieniu utwórz nową sesję.
- Utwórz sesję: zadzwoń pod numer
sessions.create
, aby rozpocząć nową sesję, a następnie uzyskaćpickerUri
. - Pokaż użytkownikowi
pickerUri
: wyświetl adres URL lub wygeneruj kod QR który użytkownik ma zeskanować. - Ankietowanie sesji:
- Użyj zalecanego parametru pollInterval z
pollingConfig
. - Sprawdź, czy
mediaItemsSet
jest prawdziwe.- Jeśli
true
, przejdź do listy wybranych elementów multimedialnych. - Jeśli
false
, kontynuuj sondowanie, aż osiągniesztimeoutIn
.
- Jeśli
- Łatwo radź sobie z limitami czasu i anulowaniami.
- Użyj zalecanego parametru pollInterval z
GET https://photoslibrary.googleapis.com/v1/sessions/{sessionId}
Oto przykładowa odpowiedź:
{
"id": string,
"pickerUri": string,
"pollingConfig": {
object (PollingConfig)
},
"mediaItemsSet": boolean
}
Wyświetl użytkownikowi pickerUri
, a potem rozpocznij ankietowanie sesji.
Sprawdź, czy w odpowiedzi znajdują się te informacje:
mediaItemsSet
: wartość „PRAWDA”, jeśli użytkownik zakończył wybieranie elementów multimedialnychpollingConfig.pollInterval
: zalecany czas oczekiwania przed kolejnym głosowaniempollingConfig.timeoutIn
: łączny czas oczekiwania przed przekroczenie limitu czasu
Jeśli mediaItemsSet
ma wartość fałsz i nie osiągnięto wartości timeoutIn
, poczekaj na pollInterval
, a potem ponownie przeprowadź ankietę.
Jeśli mediaItemsSet
ma wartość prawda, przejdź do wyświetlania listy wybranych elementów multimedialnych.
Jeśli limit czasu został osiągnięty, limit czasu wynosi timeoutIn
.