Różnice między interfejsem My Drive API a dyskami współdzielonymi

Dyski współdzielone są zgodne z różnymi modelami organizacji, udostępniania i własności, które obowiązują w przypadku Mojego dysku. W związku z tym niektóre operacje na Moim dysku nie są dozwolone w przypadku treści na dysku współdzielonym. W tym dokumencie opisujemy różnice między interfejsami API związanymi z dyskami współdzielonymi.

Files zasób

Te pola są wypełniane tylko w przypadku plików znajdujących się na dysku współdzielonym:

  • hasAugmentedPermissions – określa, czy użytkownicy mają dostęp bezpośrednio do danego pliku.
  • capabilities/canAddFolderFromAnotherDrive – określa, czy bieżący użytkownik może dodać do tego folderu folder z innego dysku (innego dysku współdzielonego lub Mojego dysku).
  • capabilities/canDeleteChildren – określa, czy bieżący użytkownik może usuwać elementy podrzędne tego folderu.
  • capabilities/canMoveChildrenOutOfDrive – określa, czy bieżący użytkownik może przenieść elementy podrzędne tego folderu poza dysk współdzielony.
  • capabilities/canMoveChildrenWithinDrive – określa, czy bieżący użytkownik może przenosić elementy podrzędne tego folderu w obrębie dysku współdzielonego.
  • capabilities/canMoveItemWithinDrive – określa, czy bieżący użytkownik może przenieść ten element z dysku współdzielonego w obrębie tego dysku współdzielonego.
  • capabilities/canReadDrive – określa, czy bieżący użytkownik ma uprawnienia do odczytu dysku współdzielonego, do którego należy dany plik.
  • capabilities/canTrashChildren – określa, czy bieżący użytkownik może przenosić do kosza elementy podrzędne tego folderu.
  • driveId – identyfikator dysku współdzielonego, na którym znajduje się plik.
  • trashingUser – jeśli plik został jawnie przeniesiony do kosza, oznacza użytkownika, który go w nim umieścił.
  • trashedTime – czas przeniesienia elementu do kosza.

Te pola nie są wypełniane w przypadku plików znajdujących się na dysku współdzielonym:

  • permissions – ze względu na potencjalny rozmiar list kontroli dostępu dysku współdzielonego uprawnienia nie są zwracane jako część plików. Użyj metody permissions.list, która obsługuje podział na strony, aby wyświetlić listę uprawnień pliku na dysku współdzielonym lub na samym dysku współdzielonym.
  • owners, ownerNames, ownedByMe – pliki na dysku współdzielonym należą do dysku współdzielonego, a nie poszczególnych użytkowników.
  • folderColorRgb – nie można kolorować poszczególnych folderów
  • shared – wszystkie elementy na dysku współdzielonym są udostępnione.
  • writersCanShare – obecnie nie można ograniczać udostępniania według roli na dyskach współdzielonych.

Te pola są ustawiane tylko wtedy, gdy użytkownik ma uprawnienia dostępu do pliku w danym elemencie:

  • sharedWithMeDate
  • sharingUser

Poniższe pola wymagają podjęcia szczególnej uwagi, jeśli używasz ich z dyskami współdzielonymi:

  • parents.isRoot – to pole ma wartość tylko w przypadku folderu głównego Mój dysk. To pole ma wartość fałsz w przypadku folderu najwyższego poziomu na dysku współdzielonym.
  • parents – element nadrzędny nie pojawia się na liście elementów nadrzędnych, jeśli użytkownik wysyłający prośbę nie jest użytkownikiem dysku współdzielonego i nie ma dostępu do dysku nadrzędnego. Dodatkowo z wyjątkiem folderu najwyższego poziomu lista elementów nadrzędnych musi zawierać dokładnie 1 element, jeśli plik znajduje się na dysku współdzielonym.

  • capabilities/canRemoveChildren – użyj capabilities/canDeleteChildren lub capabilities/canTrashChildren.

Permissions zasób

Pole permissionDetails jest wypełniane tylko w przypadku plików znajdujących się na dysku współdzielonym. To pole zawiera skróconą listę uprawnień, które są zawarte w tym pliku na dysku współdzielonym lub przez niego odziedziczone. To pole jest przeznaczone tylko do danych wyjściowych i jest dostępne tylko w przypadku elementów na dysku współdzielonym. Reklamy

  • zdefiniowano 2 nowe role organizer i fileOrganizer.
  • permissions.list obsługuje teraz dzielenie na strony.

Changes zasób

W zasobie Changes na dysku współdzielonym są dostępne te nowe pola:

  • changeType – typ zmiany. Możliwe wartości to file i drive.
  • driveId – identyfikator dysku współdzielonego powiązanego z tą zmianą.
  • drive – zaktualizowany stan dysku współdzielonego. Widoczne, jeśli changeType ma wartość drive, a użytkownik nadal jest użytkownikiem dysku współdzielonego.

W przypadku aplikacji, które muszą synchronizować treści z dyskami współdzielonymi lub śledzić aktywność, konieczne mogą być wprowadzenie dodatkowych zmian. Szczegółowe informacje znajdziesz w artykule o śledzeniu zmian dotyczących użytkowników i dysków współdzielonych.