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

Dyski współdzielone mają inny model organizacji, udostępniania i własności niż Mój dysk. W związku z tym niektóre operacje na Moim dysku nie są dozwolone w przypadku treści na dysku współdzielonym. Ten dokument opisuje różnice w interfejsie API dotyczące wspólnego korzystania z drive.

Zasób pliku

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

  • hasAugmentedPermissions: określa, czy któryś użytkownik ma bezpośredni dostęp do tego pliku.
  • capabilities/canAddFolderFromAnotherDrive: określa, czy bieżący użytkownik może dodać do tego foldera folder z innego dysku (innego dysku współdzielonego lub Mojego dysku).
  • capabilities/canDeleteChildren: określa, czy bieżący użytkownik może usuwać podfoldery tego folderu.
  • capabilities/canMoveChildrenOutOfDrive: określa, czy bieżący użytkownik może przenosić podfoldery tego folderu poza dysk współdzielony.
  • capabilities/canMoveChildrenWithinDrive: określa, czy bieżący użytkownik może przenosić podfoldery tego folderu na dysku współdzielonym.
  • capabilities/canMoveItemWithinDrive: czy bieżący użytkownik może przenieść ten element dysku współdzielonego na tym dysku.
  • capabilities/canReadDrive: czy bieżący użytkownik ma uprawnienia do odczytu dysku współdzielonego, do którego należy ten plik.
  • capabilities/canTrashChildren: określa, czy bieżący użytkownik może usunąć podfoldery z tego folderu.
  • driveId: identyfikator dysku współdzielonego, na którym znajduje się plik.
  • trashingUser: jeśli plik został usunięty, użytkownik, który go usunął.
  • trashedTime: godzina, w której element został przeniesiony do kosza. Jeśli używasz starszej wersji interfejsu Drive API 2, to pole nosi nazwę trashedDate.

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

  • permissions: ze względu na potencjalny rozmiar list kontroli dostępu 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 na dysku współdzielonym, użyj metody permissions.list(), która obsługuje podział na strony.
  • owners, ownerNames, ownedByMe: pliki na dysku współdzielonym są własnością dysku współdzielonego, a nie poszczególnych użytkowników.
  • folderColorRgb: folderów nie można kolorować pojedynczo.
  • shared: wszystkie elementy na dysku współdzielonym są udostępnione.
  • writersCanShare: na dyskach współdzielonych nie można ograniczać udostępniania według ról.

Te pola są ustawiane tylko wtedy, gdy użytkownik ma uprawnienia dostępu do plików dotyczące danego elementu:

  • sharedWithMeDate
  • sharingUser

W przypadku korzystania z tych pól w przypadku udostępnionych dysków należy zachować szczególną ostrożność:

  • parents.isRoot: to pole jest ustawione na wartość true tylko w przypadku folderu głównego Mojego dysku. W przypadku folderu najwyższego poziomu dysku współdzielonego ma ono wartość false.
  • parents: rodzic nie pojawia się na liście rodziców, jeśli użytkownik, który wysłał prośbę, nie jest członkiem dysku współdzielonego i nie ma dostępu do rodzica. Dodatkowo, z wyjątkiem folderu najwyższego poziomu, lista rodziców musi zawierać dokładnie jeden element, jeśli plik znajduje się na dysku współdzielonym.

  • capabilities/canRemoveChildren: użyj wartości capabilities/canDeleteChildren lub capabilities/canTrashChildren.

Zasób uprawnień

Pole permissionDetails w zasobie Permission jest wypełniane tylko w przypadku plików znajdujących się na dysku współdzielonym. To pole to lista skrócona uprawnień, które są włączone lub odziedziczone przez plik na dysku współdzielonym. To pole służy tylko do wyświetlania danych i jest dostępne tylko w przypadku elementów na dysku współdzielonym. Reklamy

  • Zdefiniowano 2 nowe role: organizer i fileOrganizer.
  • Metoda permissions.list() obsługuje podział na strony.

Zmień zasób

W zasobach Change 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. Jest obecny, jeśli changeType to drive i użytkownik nadal należy do 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 dla użytkowników i dysków współdzielonych.