Удаление разрешения в Google Drive API - PullRequest
1 голос
/ 27 июня 2019

enter image description here

Я хочу удалить файл из общего доступа, удалив его разрешение.Но я не могу удалить его из-за недостаточных разрешений.Как я могу удалить его?

Что я уже сделал:

Получил метаданные для файла, а также missionId

{
 "kind": "drive#file",

 "id": "1pPGyU9XvliI4U8910uehkuQ-vuuRXEVD",

 "name": "Die Hard (1988) 1080p BDRip Org DD 5.1 [Hindi + English] x264 ESubs.mkv",

 "mimeType": "video/x-matroska",

 "starred": false,

 "trashed": false,

 "explicitlyTrashed": false,

 "spaces": [
  "drive"
 ],

 "version": "135",

 "webContentLink": "https://drive.google.com/uc?id=1pPGyU9XvliI4U8910uehkuQ-vuuRXEVD&export=download",

 "webViewLink": "https://drive.google.com/file/d/1pPGyU9XvliI4U8910uehkuQ-vuuRXEVD/view?usp=drivesdk",

 "iconLink": "https://drive-thirdparty.googleusercontent.com/16/type/video/x-matroska",

 "hasThumbnail": true,

 "thumbnailLink": "https://lh3.googleusercontent.com/iVzSamm0mJK92lc16EW4TsFy8GZhcbKwUIzIwaGPtT9p2HV9bQl5SogR_nzb1zcihi5BZQ3qey0=s220",

 "thumbnailVersion": "1",

 "viewedByMe": true,

 "viewedByMeTime": "2019-06-26T17:00:11.924Z",

 "createdTime": "2018-05-16T09:54:34.010Z",

 "modifiedTime": "2018-05-16T10:24:01.186Z",

 "modifiedByMe": false,

 "sharedWithMeTime": "2018-10-21T17:22:57.170Z",

 "owners": [
  {
   "kind": "drive#user",

   "displayName": "free ac",

   "me": false,

     "permissionId": "00202688946253680238",

   "emailAddress": "freeac331@gmail.com"
  }
 ],

 "lastModifyingUser": {

  "kind": "drive#user",

  "displayName": "free ac",

  "me": false,

  "permissionId": "00202688946253680238",

  "emailAddress": "freeac331@gmail.com"

 },
 "shared": true,

 "ownedByMe": false,

 "capabilities": {

  "canAddChildren": false,

  "canChangeCopyRequiresWriterPermission": false,

  "canChangeViewersCanCopyContent": false,

  "canComment": false,

  "canCopy": true,

  "canDelete": false,

  "canDownload": true,

  "canEdit": false,

  "canListChildren": false,

  "canMoveItemIntoTeamDrive": false,

  "canMoveItemOutOfDrive": false,

  "canReadRevisions": false,

  "canRemoveChildren": false,

  "canRename": false,

  "canShare": false,

  "canTrash": false,

  "canUntrash": false
 },
 "viewersCanCopyContent": true,

 "copyRequiresWriterPermission": false,

 "writersCanShare": true,

 "originalFilename": "Die Hard (1988) 1080p BDRip Org DD 5.1 [Hindi + English] x264 ESubs.mkv",

 "fullFileExtension": "mkv",

 "fileExtension": "mkv",

 "md5Checksum": "7fdc6768744557159d790037c808c99c",

 "size": "2565619212",
 "quotaBytesUsed": "0",

 "headRevisionId": "0B8kwukeDiZGLUHpUN0xXTllYRnRBbFZYMzNsbjFUK01jZ2tVPQ",

 "videoMediaMetadata": {
  "width": 1920,
  "height": 800,
  "durationMillis": "7929080"
 },
 "isAppAuthorized": false
}

И я попытался удалить разрешение

fileId: 1pPGyU9XvliI4U8910uehkuQ-vuuRXEVD

Разрешение ID: 00202688946253680238

1024*

Но не могу удалить файл из общего доступа со мной.

РЕДАКТИРОВАТЬ 1:

Я проверяю это с this

РЕДАКТИРОВАТЬ 2:

Я пытаюсь сделать это , но с Google Drive API

1 Ответ

0 голосов
/ 27 июня 2019

Вы получаете ошибку insufficientFilePermissions, потому что редактировать их может только владелец файла.Как вы можете видеть:

"ownedByMe": false,

В настоящее время нет способа удалить файлы из общих файлов через API, поэтому можно попросить владельца прекратить делиться файлом с вами или удалитьчерез графический интерфейс привода.

РЕДАКТИРОВАТЬ:

Это можно сделать, выполнив следующие действия:

  1. Получить идентификаторфайла с Drive.list
  2. Получите идентификатор разрешения с использованием идентификатора файла с помощью permissions.list
  3. Вы получите два элемента с двумя идентификаторами PermissionID, скопируйте один элемент из элемента с помощью «общего доступа»электронная почта, а не владелец электронная почта.
  4. Удалите разрешение с помощью permissions.delete, используя fileID и PermissionID из шага 3.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...