Propozycja przyznania dostępu to propozycja od osoby proszącej do osoby zatwierdzającej, aby przyznać odbiorcy dostęp do elementu na Dysku Google.
Osoba zatwierdzająca może sprawdzać wszystkie nierozstrzygnięte propozycje przyznania dostępu do plików na Dysku i podejmować w ich sprawie odpowiednie działania. Oznacza to, że możesz przyspieszyć proces zatwierdzania, wysyłając zapytanie o oferty dostępu w ramach procesu automatyzacji, a następnie rozwiązując je. Pozwala też zatwierdzającemu wyświetlać propozycje w ujęciu zbiorczym.
Interfejs API Dysku Google udostępnia zasób accessproposals
, dzięki któremu możesz wyświetlać i rozwiązywać oczekujące prośby o dostęp. Metody zasobu accessproposals
działają na plikach, folderach i plikach na dysku współdzielonym, ale nie na dysku współdzielonym.
Te terminy dotyczą ofert dostępu:
- Prośbę o dostęp wysyła użytkownik, który inicjuje propozycję dostępu do elementu w Google Dysku.
- Odbiorca: użytkownik, który otrzyma dodatkowe uprawnienia do pliku, jeśli propozycja przyznania dostępu zostanie zaakceptowana. W większości przypadków adresat jest taki sam jak osoba, która wysłała prośbę, ale nie zawsze.
- Zatwierdzający: użytkownik odpowiedzialny za zatwierdzanie (lub odrzucanie) propozycji dostępu. Dzieje się tak zwykle dlatego, że są właścicielami dokumentu lub mają możliwość udostępniania dokumentu.
Wyświetlanie listy oczekujących ofert dostępu
Aby wyświetlić listę wszystkich oczekujących propozycji dostępu do elementu na Dysku, wywołaj metodę list()
zasobu accessproposals
i dodaj parametr ścieżki fileId
.
Tylko zatwierdzający plik mogą wyświetlać oczekujące propozycje dotyczące tego pliku. Zatwierdzacz
to użytkownik, który ma uprawnienia can_approve_access_proposals
do pliku. Jeśli w prośbie nie podano zatwierdzenia, zwracana jest pusta lista. Więcej informacji o capabilities
znajdziesz w artykule Zrozumienie możliwości plików.
Treść odpowiedzi składa się z obiektu AccessProposal
, który reprezentuje listę nierozwiązanych propozycji dostępu do pliku.
Obiekt AccessProposal
zawiera informacje o każdej propozycji, takie jak prośba, odbiorca i wiadomość dodana przez osobę przesyłającą prośbę. Zawiera też obiekt AccessProposalRoleAndView
, który grupuje zaproponowany przez wnioskodawcę element role
z elementem view
. Pole role
jest powtarzalne, więc w przypadku każdej oferty może występować wiele wartości. Na przykład propozycja może zawierać obiekt AccessProposalRoleAndView
o wartości role=reader
i view=published
oraz dodatkowy obiekt AccessProposalRoleAndView
z wartością tylko role=writer
. Więcej informacji znajdziesz w sekcji Wyświetlenia.
Aby dostosować podział na strony lub filtrować propozycje dostępu, podaj te parametry zapytania:
pageToken
: token strony otrzymany z poprzedniego wywołania listy. Podaj ten token, aby pobrać kolejną stronę.pageSize
: maksymalna liczba propozycji dostępu do wyświetlenia na stronie.
Rozwiązywanie oczekujących próśb o dostęp
Aby zaakceptować wszystkie oczekujące prośby o dostęp do elementu w usłudze Drive, wywołaj metodę resolve()
w zasobie accessproposals
i uwzględnij parametry ścieżki fileId
i proposalId
.
Metoda resolve()
zawiera parametr zapytania action
, który określa działanie, jakie należy wykonać w związku z propozycją. Obiekt Action
śledzi zmiany stanu oferty, dzięki czemu wiemy, czy została ona zaakceptowana czy odrzucona.
Metoda resolve()
zawiera też opcjonalne parametry zapytania role
i view
. Obsługiwane są tylko role writer
, commenter
i reader
. Jeśli rola nie jest określona, domyślnie jest używana wartość reader
. Dodatkowy opcjonalny parametr zapytania send_notification
umożliwia wysłanie e-maila z powiadomieniem do osoby, która wysłała prośbę, gdy propozycja zostanie zaakceptowana lub odrzucona.
Podobnie jak w przypadku metody list()
użytkownicy rozwiązujący propozycję muszą mieć uprawnienia can_approve_access_proposals
do pliku. Więcej informacji o capabilities
znajdziesz w artykule Informacje o możliwościach plików.
Propozycje są rozwiązywane za pomocą tych samych wzorców, które są wymienione w sekcji Scenariusze udostępniania zasobów w Google Drive. Jeśli masz kilka propozycji dla tego samego użytkownika, ale z różnymi rolami, obowiązują te zasady:
- Jeśli jedna propozycja zostanie zaakceptowana, a druga odrzucona, zaakceptowana rola zostanie zastosowana do pliku na Dysku.
- Jeśli obie oferty zostaną zaakceptowane w tym samym czasie, zostanie zastosowana oferta z wyższym poziomem uprawnień (np.
role=writer
w porównaniu zrole=reader
). Druga propozycja dostępu zostaje usunięta z elementu.
Po przesłaniu propozycji do metody resolve()
akcja udostępniania jest zakończona. AccessProposal
nie jest już zwracany za pomocą metody list()
. Gdy propozycja zostanie zaakceptowana, użytkownik musi użyć kolekcji permissions
, aby zaktualizować uprawnienia do pliku lub folderu. Więcej informacji znajdziesz w sekcji Uprawnienia dotyczące aktualizacji.