Zarządzanie oczekującymi propozycjami dostępu

Propozycja dostępu to propozycja od osoby wysyłającej prośbę do osoby zatwierdzającej, aby przyznać odbiorcy dostęp do elementu na Dysku Google.

Osoba zatwierdzająca może sprawdzać wszystkie nierozwiązane propozycje dostępu do plików na Dysku i podejmować odpowiednie działania. Oznacza to, że możesz przyspieszyć proces zatwierdzania, programowo wysyłając zapytania o propozycje dostępu, a następnie je rozwiązując. Umożliwia to też osobie zatwierdzającej wyświetlanie propozycji w zbiorczym widoku.

Interfejs Google Drive API udostępnia zasób accessproposals, dzięki któremu możesz wyświetlać i rozwiązywać oczekujące propozycje dostępu. Metody zasobu accessproposals działają w przypadku plików, folderów i plików na dysku współdzielonym, ale nie w przypadku dysku współdzielonego.

Poniższe terminy dotyczą propozycji dostępu:

  • Osoba wysyłająca prośbę: użytkownik, który inicjuje propozycję dostępu do elementu na Dysku.
  • Odbiorca: użytkownik, który otrzyma dodatkowe uprawnienia do pliku, jeśli propozycja dostępu zostanie zaakceptowana. W wielu przypadkach odbiorca jest tą samą osobą co zgłaszający, ale nie zawsze.
  • Osoba zatwierdzająca: użytkownik odpowiedzialny za zatwierdzenie (lub odrzucenie) propozycji dostępu. Zwykle jest to spowodowane tym, że jest właścicielem dokumentu lub ma możliwość udostępniania dokumentu.

Używanie parametru fields

Jeśli chcesz określić pola, które mają być zwracane w odpowiedzi, możesz ustawić fields parametr systemowy w dowolnej metodzie zasobu accessproposals. Jeśli pominiesz parametr fields, serwer zwróci domyślny zestaw pól właściwy dla danej metody. Aby zwrócić inne pola, zapoznaj się z sekcją Zwracanie określonych pól.

Pobieranie oczekującej propozycji dostępu

Aby pobrać propozycję dostępu, użyj metody get w zasobie accessproposals z parametrami ścieżki fileId i proposalId. Jeśli nie znasz identyfikatora propozycji, możesz wyświetlić listę oczekujących propozycji dostępuza pomocą metody list.

Wyświetlanie listy oczekujących propozycji dostępu

Aby wyświetlić listę wszystkich oczekujących propozycji dostępu do elementu na Dysku, wywołaj metodę list w zasobie accessproposals i dodaj parametr ścieżki fileId.

Tylko osoby zatwierdzające plik mogą wyświetlać listę oczekujących propozycji dotyczących pliku. Osoba zatwierdzająca to użytkownik, który ma uprawnienie can_approve_access_proposals do pliku. Jeśli osoba wysyłająca prośbę nie jest osobą zatwierdzającą, zwracana jest pusta lista. Więcej informacji o capabilitiesznajdziesz w artykule Informacje o uprawnieniach do plików.

Treść odpowiedzi składa się z obiektu accessproposals reprezentującego listę nierozwiązanych propozycji dostępu do pliku.

Obiekt accessproposals zawiera informacje o każdej propozycji, takie jak osoba wysyłająca prośbę, odbiorca i wiadomość dodana przez osobę wysyłającą prośbę. Zawiera też obiekt RoleAndView , który grupuje proponowaną przez osobę wysyłającą prośbę role z view. Ponieważ role jest polem powtarzalnym, dla każdej oferty pakietowej może istnieć wiele ról. Na przykład propozycja może mieć obiekt RoleAndView z wartościami role=reader i view=published oraz dodatkowy obiekt RoleAndView z wartością role=writer. Więcej informacji znajdziesz w artykule Widoki.

Aby dostosować stronicowanie lub filtrowanie propozycji dostępu, przekaż te parametry zapytania:

  • pageToken: token strony otrzymany z poprzedniego wywołania metody list. Podaj ten token, aby pobrać następną stronę.

  • pageSize: maksymalna liczba propozycji dostępu, które mają być zwracane na stronie.

Rozwiązywanie oczekujących propozycji dostępu

Aby rozwiązać wszystkie oczekujące propozycje dostępu do elementu na Dysku, wywołaj metodę resolve w zasobie accessproposals i dodaj parametry ścieżki fileId i proposalId.

Metoda resolve zawiera parametr zapytania action, który określa działanie, jakie należy podjąć w związku z ofertą pakietową. Obiekt Action śledzi zmianę stanu oferty pakietowej, dzięki czemu wiemy, czy jest ona akceptowana czy odrzucana.

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 ustawiona na reader. Więcej informacji znajdziesz w artykule Role i uprawnienia. Dodatkowy opcjonalny parametr zapytania sendNotification umożliwia wysłanie e-maila z powiadomieniem do zgłaszającego, gdy oferta pakietowa zostanie zaakceptowana lub odrzucona.

Podobnie jak w przypadku metody list, użytkownicy rozwiązujący propozycję muszą mieć uprawnienie can_approve_access_proposals do pliku. Więcej informacji o capabilitiesznajdziesz w artykule Informacje o uprawnieniach do plików.

Propozycje są rozwiązywane przy użyciu tych samych wzorców, które są wymienione w sekcji Scenariusze udostępniania zasobów na Dysku. Jeśli istnieje 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, do elementu na Dysku zostanie zastosowana zaakceptowana rola.
  • Jeśli obie propozycje zostaną zaakceptowane w tym samym czasie, zostanie zastosowana propozycja z wyższymi uprawnieniami (np. role=writer zamiast role=reader). Druga propozycja dostępu zostanie usunięta z elementu.

Po wysłaniu propozycji do metody resolve działanie udostępniania zostanie zakończone. Rozwiązana propozycja dostępu nie jest już zwracana przez metodę list. Gdy propozycja zostanie zaakceptowana, użytkownik musi użyć zasobu permissions, aby zaktualizować uprawnienia do pliku lub folderu. Więcej informacji znajdziesz w artykule Aktualizowanie uprawnień.