Zarządzanie oczekującymi propozycjami dostępu

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 fileIdproposalId.

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 roleview. Obsługiwane są tylko role writer, commenterreader. 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 z role=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.