Zakresy autoryzacji

Interfejs Google Photos Library API obejmuje wiele zakresów używanych do uzyskiwania dostępu do elementów multimedialnych i albumów. Odpowiedzi zwracane z różnych wywołań różnią się w zależności od zakresów zażądanych przez programistę.

Każde żądanie wysyłane przez aplikację do interfejsu Google Photos Library API musi zawierać token autoryzacji. Token stanowi też dla Google identyfikator aplikacji.

Informacje o protokołach autoryzacji

Twoja aplikacja musi autoryzować żądania za pomocą protokołu OAuth 2.0. Inne protokoły nie są obsługiwane. Jeśli aplikacja używa funkcji Zaloguj się przez Google, niektórymi aspektami autoryzacji nie musisz się zajmować.

Autoryzowanie żądań za pomocą protokołu OAuth 2.0

Wszystkie żądania wysyłane do interfejsu Google Photos Library API muszą być autoryzowane przez użytkownika.

Szczegóły procesu autoryzacji z użyciem protokołu OAuth 2.0 różnią się nieznacznie w zależności od rodzaju projektowanej aplikacji. Do większości typów aplikacji ma zastosowanie ten ogólny proces:

  1. Gdy tworzysz aplikację, rejestrujesz ją, korzystając z konsoli interfejsów API Google. Następnie Google przekazuje informacje, które są potrzebne później, takie jak identyfikator klienta i tajny klucz klienta.
  2. Aktywuj interfejs Google Photos Library API w Konsoli interfejsów API Google. (jeśli interfejsu API nie ma na liście w konsoli, pomijasz ten krok).
  3. Gdy Twoja aplikacja potrzebuje dostępu do danych użytkownika, prosi Google o konkretny zakres dostępu.
  4. Google wyświetla użytkownikowi ekran zgody z prośbą o autoryzowanie dostępu aplikacji do niektórych danych.
  5. Jeśli użytkownik wyrazi zgodę, Google przekazuje Twojej aplikacji ważny przez krótki czas token dostępu.
  6. Aplikacja żąda danych użytkownika i dołącza do żądania token dostępu.
  7. Jeśli Google uzna, że żądanie i token są prawidłowe, przesyła dane, o które prosisz.

Niektóre procesy obejmują dodatkowe kroki, takie jak wykorzystanie tokenów odświeżania do uzyskania nowych tokenów dostępu. Szczegółowe informacje o procesach obowiązujących w przypadku różnych typów aplikacji znajdziesz w dokumencie Google na temat protokołu OAuth 2.0.

Oto informacje o zakresie protokołu OAuth 2.0 na potrzeby interfejsu Google Photos Library API:

Zakres Znaczenie
https://www.googleapis.com/auth/photoslibrary.readonly

Tylko do odczytu.

Wyświetla listę elementów z biblioteki i wszystkich albumów, daje dostęp do wszystkich elementów multimedialnych i wyświetla listę albumów należących do użytkownika, w tym tych, które zostały mu udostępnione.

W przypadku albumów udostępnionych przez użytkownika właściwości udostępniania są zwracane tylko wtedy, gdy przydzielono też zakres photoslibrary.sharing.

Właściwość shareInfo dla albumów i contributorInfo dla mediaItems jest dostępna tylko wtedy, gdy przyznano też zakres photoslibrary.sharing.

Więcej informacji znajdziesz w artykule Udostępnianie multimediów.

https://www.googleapis.com/auth/photoslibrary.appendonly

Tylko uprawnienia do zapisu.

Dostęp z możliwością przesyłania bajtów, tworzenia elementów multimedialnych, tworzenia albumów i wzbogacania zawartości. Zezwala na tworzenie nowych multimediów tylko w bibliotece użytkownika i w albumach utworzonych przez aplikację.

https://www.googleapis.com/auth/photoslibrary.readonly.appcreateddata

Dostęp z możliwością odczytu do elementów multimedialnych i albumów utworzonych przez programistę. Więcej informacji znajdziesz w artykułach Dostęp do elementów multimedialnych i Wyświetlanie listy zawartości, albumów i elementów multimedialnych z biblioteki.

Przeznaczone do stosowania razem z zakresem photoslibrary.appendonly.

https://www.googleapis.com/auth/photoslibrary.edit.appcreateddata

Tylko z uprawnieniami do edycji.

Dostęp z możliwością zmiany tych informacji w przypadku albumów i elementów multimedialnych utworzonych przez dewelopera:

https://www.googleapis.com/auth/photoslibrary.sharing

Dostęp do udostępniania połączeń.

Dostęp z możliwością tworzenia i udostępniania albumów, przesyłania do niego elementów multimedialnych i dołączania do albumu udostępnionego.

https://www.googleapis.com/auth/photoslibrary

Niezalecane. Poproś o dostęp tylko do zakresów, które są Ci potrzebne, za pomocą autoryzacji przyrostowej.

Dostęp do zakresów photoslibrary.appendonly i photoslibrary.readonly. Nie obejmuje dostępu na poziomie photoslibrary.sharing ani photoslibrary.edit.

Aby poprosić o dostęp przy użyciu protokołu OAuth 2.0, aplikacja potrzebuje danych z zakresu oraz informacji przekazywanych przez Google po zarejestrowaniu aplikacji (takich jak identyfikator klienta i tajny klucz klienta).

Wskazówka: biblioteki klienta interfejsów API Google mogą wykonać niektóre procesy autoryzacji za Ciebie. Są dostępne dla różnych języków programowania. Więcej szczegółów znajdziesz na stronie z bibliotekami i próbkami.

Wybieranie zakresów

Ogólnie wybieraj najbardziej restrykcyjny zakres i unikaj żądania zakresów, których aplikacja nie potrzebuje. Użytkownicy łatwiej przyznają dostęp do ograniczonych, jasno opisanych zakresów. Użytkownicy mogą się wahać, czy przyznają szeroki dostęp do swoich multimediów, jeśli nie zaufają Twojej aplikacji i nie wiedzą, dlaczego potrzebuje tych informacji.

Stopniowe żądania zakresów

Zgodnie ze sprawdzonymi metodami autoryzacji Twoja aplikacja powinna prosić o zakresy tylko wtedy, gdy są potrzebne. Unikaj wysyłania żądań wszystkich zakresów dla aplikacji od razu podczas logowania. Zamiast tego podaj uzasadnienie i prześlij prośbę w kontekście. Jasno wyjaśnij, co zrobisz z danymi użytkowników i jak skorzystają oni z przyznania dostępu zgodnie ze wskazówkami dotyczącymi UX i sprawdzonymi metodami dotyczącymi powiadamiania użytkowników i prośby o zgodę.

Konta usługi

Interfejs Library API nie obsługuje kont usługi. Aplikacja musi używać innych dostępnych procesów OAuth 2.0, takich jak OAuth 2.0 dla aplikacji serwera WWW czy OAuth 2.0 dla aplikacji mobilnych i stacjonarnych.