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 nierozstrzygnięte propozycje dostępu do plików na Dysku i podejmować w ich sprawie działania. Oznacza to, że możesz przyspieszyć proces zatwierdzania, programowo wysyłając zapytania o propozycje dostępu, a następnie je rozstrzygając. Umożliwia też osobie zatwierdzającej wyświetlanie ofert pakietowych w formie zbiorczej.

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 accessproposalsdziałają na plikach, folderach i plikach na dysku współdzielonym, ale nie na samym dysku współdzielonym.

Poniższe terminy dotyczą konkretnie propozycji dostępu:

  • Zgłaszający: użytkownik, który inicjuje propozycję dostępu do elementu na Dysku.
  • Odbiorca: użytkownik, który otrzyma dodatkowe uprawnienia do pliku, jeśli prośba o dostęp zostanie zaakceptowana. Często odbiorca jest taki sam jak zgłaszający, ale nie zawsze.
  • Osoba zatwierdzająca: użytkownik odpowiedzialny za zatwierdzenie (lub odrzucenie) propozycji dostępu. Zwykle dzieje się tak, ponieważ jest właścicielem dokumentu lub ma możliwość jego udostępniania.

Używanie parametru fields

Jeśli chcesz określić pola, które mają być zwracane w odpowiedzi, możesz ustawić fields parametr systemfields w dowolnej metodzie zasobu accessproposals. Jeśli pominiesz parametr fields, serwer zwróci domyślny zestaw pól specyficznych dla danej metody. Aby zwrócić różne pola, zobacz Zwracanie określonych pól.

Pobieranie oczekującej propozycji dostępu

Aby uzyskać propozycję dostępu, użyj metody get w zasobie accessproposals z parametrami ścieżki fileIdproposalId. Jeśli nie znasz identyfikatora propozycji, możesz wyświetlić listę oczekujących propozycji dostępu za 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 uwzględnij parametr ścieżki fileId.

Tylko osoby zatwierdzające plik mogą wyświetlać listę oczekujących propozycji w pliku. Osoba zatwierdzająca to użytkownik, który ma can_approve_access_proposals w pliku. Jeśli osoba wysyłająca prośbę nie jest osobą zatwierdzającą, zwracana jest pusta lista. Więcej informacji o capabilities znajdziesz w artykule Omówienie możliwości 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 zgłaszający, odbiorca i wiadomość dodana przez zgłaszającego. Zawiera też obiekt RoleAndView, który grupuje proponowane przez osobę wysyłającą żądanie roleview. Ponieważ role jest polem powtarzanym, w przypadku każdej oferty pakietowej może występować wiele wartości. Na przykład propozycja może mieć obiekt RoleAndView z wartościami role=readerview=published oraz dodatkowy obiekt RoleAndView z samą wartością role=writer. Więcej informacji znajdziesz w artykule Widoki.

Przekaż te parametry zapytania, aby dostosować stronicowanie lub filtrowanie propozycji dostępu:

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

  • pageSize: maksymalna liczba propozycji dostępu do zwrócenia na stronie.

Rozwiązywanie problemów z oczekującymi propozycjami dostępu

Aby rozwiązać wszystkie oczekujące propozycje dostępu do elementu na Dysku, 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 podjąć w odniesieniu do oferty pakietowej. Obiekt Action śledzi zmianę stanu propozycji, dzięki czemu wiemy, czy została ona zaakceptowana czy odrzucona.

Metoda resolve obejmuje też opcjonalne parametry zapytania roleview. Obsługiwane są tylko role writer, commenterreader. Jeśli nie podasz roli, domyślnie zostanie użyta wartość reader. Więcej informacji znajdziesz w artykule Role i uprawnienia. Dodatkowy opcjonalny parametr zapytania sendNotification umożliwia wysłanie e-maila z powiadomieniem do osoby zgłaszającej, gdy oferta pakietowa zostanie zaakceptowana lub odrzucona.

Podobnie jak w przypadku metody list, użytkownicy zatwierdzający propozycję muszą mieć can_approve_access_proposals w pliku. Więcej informacji o capabilities znajdziesz w artykule Omówienie możliwości plików.

Propozycje są rozstrzygane przy użyciu tych samych wzorców, które są wymienione w sekcji Scenariusze udostępniania zasobów na Dysku. Jeśli dla tego samego użytkownika istnieje kilka propozycji, ale z różnymi rolami, obowiązują te zasady:

  • Jeśli jedna prośba zostanie zaakceptowana, a druga odrzucona, do elementu na Dysku zostanie zastosowana zaakceptowana rola.
  • Jeśli obie propozycje zostaną zaakceptowane w tym samym czasie, zastosowana zostanie ta, która ma wyższy poziom uprawnień (np. role=writer zamiast role=reader). Druga propozycja dostępu zostanie usunięta z produktu.

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. Po zaakceptowaniu propozycji użytkownik musi użyć zasobu permissions, aby zaktualizować uprawnienia do pliku lub folderu. Więcej informacji znajdziesz w artykule Aktualizowanie uprawnień.