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

Dyski współdzielone działają w oparciu o inne modele organizacji, udostępniania i własności niż Mój dysk. Dlatego niektóre operacje na Moim dysku nie są dozwolone w przypadku treści na dysku współdzielonym.

W tym przewodniku opisujemy różnice w interfejsie API dotyczące dysków współdzielonych w zasobach files i changes.

Zasób pliku

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

  • hasAugmentedPermissions: czy użytkownicy mają bezpośredni dostęp do pliku.
  • capabilities/canAddFolderFromAnotherDrive: czy bieżący użytkownik może dodać do tego folderu folder z innego dysku (innego dysku współdzielonego lub Mojego dysku).
  • capabilities/canDeleteChildren: czy bieżący użytkownik może usunąć elementy podrzędne tego folderu.
  • capabilities/canMoveChildrenOutOfDrive: czy bieżący użytkownik może przenieść elementy podrzędne tego folderu poza dysk współdzielony.
  • capabilities/canMoveChildrenWithinDrive: czy bieżący użytkownik może przenieść elementy podrzędne tego folderu w obrębie dysku współdzielonego.
  • capabilities/canMoveItemWithinDrive: czy bieżący użytkownik może przenieść ten element dysku współdzielonego w obrębie dysku współdzielonego.
  • capabilities/canReadDrive: czy bieżący użytkownik ma dostęp do odczytu dysku współdzielonego, do którego należy ten plik.
  • capabilities/canTrashChildren: czy bieżący użytkownik może przenieść elementy podrzędne tego folderu do kosza.
  • driveId: identyfikator dysku współdzielonego, na którym znajduje się plik.
  • trashingUser: jeśli plik został przeniesiony do kosza, jest to użytkownik, który to zrobił.
  • trashedTime: czas przeniesienia elementu do kosza. Jeśli używasz starszej wersji interfejsu Drive API w wersji 2, to pole nazywa się trashedDate.

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 (ACL) do dysku współdzielonego uprawnienia nie są zwracane jako część plików. Aby wyświetlić listę uprawnień do pliku na dysku współdzielonym lub w folderze dysku współdzielonego, użyj metody permissions.list, która obsługuje paginację.
  • owners, ownerNames, ownedByMe: pliki na dysku współdzielonym należą do dysku współdzielonego, a nie do poszczególnych użytkowników.
  • folderColorRgb: folderów nie można kolorować indywidualnie.
  • shared: wszystkie elementy na dysku współdzielonym są udostępniane.
  • writersCanShare: nie można ograniczyć udostępniania według roli na dyskach współdzielonych.

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

  • sharedWithMeDate
  • sharingUser

Podczas korzystania z tych pól na dyskach współdzielonych należy wziąć pod uwagę te kwestie:

  • parents.isRoot: to pole ma wartość true tylko w przypadku folderu głównego Mojego dysku; w przypadku folderu najwyższego poziomu dysku współdzielonego ma wartość false.
  • parents: element nadrzędny nie pojawia się na liście elementów nadrzędnych, jeśli użytkownik wysyłający żądanie nie jest użytkownikiem dysku współdzielonego i nie ma dostępu do elementu nadrzędnego. Ponadto, 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.

Zasób zmiany

W zasobie changes dla dysku współdzielonego dostępne są 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. Występuje, 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ść, mogą być wymagane dodatkowe zmiany. Więcej informacji znajdziesz w artykule Śledzenie zmian użytkowników i dysków współdzielonych.