Тип ресурса Permission

Ресурс Permission содержит сведения о разрешении на совместный доступ, предоставленном для ресурса DriveItem.

Разрешения на совместный доступ могут иметь самые различные формы. Ресурс Permission представляет эти формы с помощью аспектов в ресурсе.

Представление JSON

Ниже показано представление JSON ресурса.

{
  "id": "string (identifier)",
  "grantedTo": {"@odata.type": "microsoft.graph.identitySet"},
  "grantedToIdentities": [{"@odata.type": "microsoft.graph.identitySet"}],
  "inheritedFrom": {"@odata.type": "microsoft.graph.itemReference"},
  "invitation": {"@odata.type": "microsoft.graph.sharingInvitation"},
  "link": {"@odata.type": "microsoft.graph.sharingLink"},
  "roles": ["string"],
  "shareId": "string"
}

Свойства

Свойство Тип Описание
id Строка Уникальный идентификатор разрешения среди всех разрешений для элемента. Только для чтения.
grantedTo IdentitySet Для разрешений типа user: сведения о пользователях и приложениях для этого разрешения. Только для чтения.
grantedToIdentities Collection(IdentitySet) Для разрешений типа link: сведения о пользователях, которым предоставлено разрешение. Только для чтения.
invitation SharingInvitation Сведения обо всех сопоставленных приглашениях к совместному использованию для данного разрешения. Только для чтения.
inheritedFrom ItemReference Предоставляет ссылку на предка текущего разрешения, если оно унаследовано от предка. Только для чтения.
ссылка SharingLink Предоставляет сведения о ссылке для текущего разрешения, если это разрешение типа link. Только для чтения.
roles Collection(String) Тип разрешения, например read. Полный список ролей см. ниже. Только для чтения.
shareId String Уникальный маркер, с помощью которого можно получить доступ к общему элементу через API общих папок. Только для чтения.

Перечисление ролей

Роль Сведения
read Дает возможность считывать метаданные и содержимое элемента.
write Дает возможность считывать и изменять метаданные и содержимое элемента.
owner В случае с SharePoint и OneDrive для бизнеса представляет роль владельца.
member В случае с SharePoint и OneDrive для бизнеса представляет роль участника.

Ресурс Permission предоставляет сведения о типе разрешения, представленного ресурсом, с помощью аспектов.

Ссылки совместного доступа содержат уникальный маркер, необходимый для доступа к элементу.

Разрешения с аспектом приглашения представляют разрешения, добавленные путем приглашения определенных пользователей или групп для доступа к файлу.

Разрешения с аспектом link представляют ссылки для совместного доступа, созданные в элементе. Это наиболее распространенные типы разрешений. Ссылки для совместного доступа предоставляют уникальный URL-адрес, который можно использовать для доступа к файлу или папке. Их можно настроить для предоставления доступа различными способами. Например, вы можете использовать API createLink, чтобы создать ссылку, доступную любым пользователям, вошедшим в вашу организацию, или вы можете создать ссылку, доступную всем пользователями без необходимости входа. Вы можете использовать API приглашения, чтобы создать ссылку, доступную только определенным пользователям, независимо от того, относятся ли они к вашей организации или нет.

Вот несколько примеров ссылок совместного доступа.

Эта ссылка для просмотра предоставляет доступ только для чтения любому пользователю с ссылкой.

{
  "id": "1",
  "roles": ["read"],
  "link": {
    "scope": "anonymous",
    "type": "view",
    "webUrl": "https://onedrive.live.com/redir?resid=5D33DD65C6932946!70859&authkey=!AL7N1QAfSWcjNU8&ithint=folder%2cgif",
    "application": { "id": "1234", "displayName": "Sample Application" }
  },
  "shareId": "!LKj1lkdlals90j1nlkascl"
}

Эта ссылка для редактирования предоставляет доступ для чтения и записи любому пользователю в организации, у которого есть ссылка.

{
  "id": "2ceefb3g32hh",
  "roles": ["write"],
  "link": {
    "scope": "organization",
    "type": "edit",
    "webUrl": "https://contoso.sharepoint.com/:w:/t/design/fj277ghautbb422707565gnvg23",
    "application": { "id": "1234", "displayName": "Sample Application" }
  },
  "shareId": "!LKj1lkdlals90j1nlkascl"
}

Эта ссылка предоставляет доступ для чтения и записи определенным пользователям в коллекции grantedToIdentities.

{
  "id": "3",
  "grantedToIdentities": [
    {
       "user": {
        "id": "35fij1974gb8832",
        "displayName": "Misty Suarez"
      }
    },
    {
       "user": {
        "id": "9397721fh4hgh73",
        "displayName": "Judith Clemons"
      }
    }
  ],
  "roles": ["write"],
  "link": {
    "webUrl": "https://contoso.sharepoint.com/:w:/t/design/a577ghg9hgh737613bmbjf839026561fmzhsr85ng9f3hjck2t5s",
    "application": { "id": "1234", "displayName": "Sample Application" }
  },
  "shareId": "!LKj1lkdlals90j1nlkascl"
}

Приглашения к совместному использованию

Разрешения, отправляемые API приглашения , могут содержать дополнительные сведения в аспекте приглашения . Если разрешение было отправлено на адрес электронной почты, не соответствующий известной учетной записи, свойство grantedTo может быть не задано, пока приглашение не будет активировано (это происходит, когда пользователь впервые переходит по ссылке и выполняет вход).

{
  "id": "1",
  "roles": ["write"],
  "invitation": {
    "email": "jd@fabrikam.com",
    "signInRequired": true
  },
  "shareId": "FWxc1lasfdbEAGM5fI7B67aB5ZMPDMmQ11U"
}

Когда пользователь активирует приглашение к совместному использованию, в свойстве grantedTo появятся сведения об учетной записи, которая активировала разрешения:

{
  "id": "1",
  "roles": ["write"],
  "grantedTo": {
    "user": {
      "id": "5D33DD65C6932946",
      "displayName": "John Doe"
    }
  },
  "invitation": {
    "email": "jd@fabrikam.com",
    "signInRequired": true
  },
  "shareId": "FWxc1lasfdbEAGM5fI7B67aB5ZMPDMmQ11U"
}

Методы

Метод Путь REST
Получение списка разрешений GET /drive/items/{item-id}/permissions
Получение разрешения GET /drive/items/{item-id}/permissions/{id}
Создать ссылку POST /drive/items/{item-id}/createLink
Приглашение пользователей POST /drive/items/{item-id}/invite
Обновление PATCH /drive/items/{item-id}/permissions/{id}
Удаление DELETE /drive/items/{item-id}/permissions/{id}

Заметки

Библиотеки документов OneDrive для бизнеса и SharePoint не возвращают свойство inheritedFrom.