Тип ресурса Permission
Пространство имен: microsoft.graph
Ресурс Permission содержит сведения о разрешении на совместный доступ, предоставленном для ресурса DriveItem.
Разрешения для общего доступа имеют много разных форм. Ресурс permission представляет эти формы с помощью аспектов в ресурсе.
библиотеки документов OneDrive для бизнеса и SharePoint не возвращают свойство inheritedFrom. grantedTo и grantedToIdentities являются устаревшими в будущем, и ответ будет перенесен в grantedToV2 и grantedToIdentitiesV2 соответственно под соответствующими именами свойств.
Представление JSON
В следующем представлении JSON показан тип ресурса.
{
"id": "string (identifier)",
"grantedTo": {"@odata.type": "microsoft.graph.identitySet"},
"grantedToIdentities": [{"@odata.type": "microsoft.graph.identitySet"}],
"grantedToV2": {"@odata.type": "microsoft.graph.sharePointIdentitySet"},
"grantedToIdentitiesV2": [{"@odata.type": "microsoft.graph.sharePointIdentitySet"}],
"inheritedFrom": {"@odata.type": "microsoft.graph.itemReference"},
"invitation": {"@odata.type": "microsoft.graph.sharingInvitation"},
"link": {"@odata.type": "microsoft.graph.sharingLink"},
"roles": ["string"],
"shareId": "string",
"expirationDateTime": "string (timestamp)",
"hasPassword": "boolean"
}
Свойства
Свойство | Тип | Описание |
---|---|---|
expirationDateTime | DateTimeOffset | Формат гггг-ММ-ддTЧЧ:мм:ссZ свойства DateTimeOffset указывает время окончания срока действия разрешения. DateTime.MinValue указывает, что для этого разрешения не установлен срок действия. Необязательный параметр. |
id | Строка | Уникальный идентификатор разрешения среди всех разрешений для элемента. Только для чтения. |
hasPassword | Логическое | Указывает, установлен ли пароль для этого разрешения. Это свойство отображается только в отклике. Необязательно. Только для чтения. Только для личного хранилища OneDrive. |
grantedTo (нерекомендуемое) | IdentitySet | Для разрешений типа user: сведения о пользователях и приложениях для этого разрешения. Только для чтения. |
grantedToIdentities (нерекомендуемое) | Collection(IdentitySet) | Для разрешений типа: сведения о пользователях, которым предоставлено разрешение. Только для чтения. |
grantedToIdentitiesV2 | Коллекция (SharePointIdentitySet) | Для разрешений типа link: сведения о пользователях, которым предоставлено разрешение. Только для чтения. |
grantedToV2 | SharePointIdentitySet | Для разрешений типа user: сведения о пользователях и приложениях для этого разрешения. Только для чтения. |
inheritedFrom | ItemReference | Предоставляет ссылку на предка текущего разрешения, если оно наследуется от предка. Только для чтения. |
invitation | SharingInvitation | Сведения обо всех сопоставленных приглашениях к совместному использованию для данного разрешения. Только для чтения. |
ссылка | SharingLink | Предоставляет сведения о ссылке текущего разрешения, если это разрешение типа ссылки. Только для чтения. |
roles | Коллекция строк | Тип разрешения, например read . Полный список ролей см. ниже. Только для чтения. |
shareId | String | Уникальный токен, с помощью которого можно получить доступ к общему элементу через API общих папок. Только для чтения. |
Ресурс Permission предоставляет сведения о типе разрешения, представленного ресурсом, с помощью аспектов.
Разрешения с аспектом link представляют ссылки для совместного доступа, созданные в элементе. Ссылки для совместного доступа содержат уникальный токен, предоставляющий доступ к элементу для любого пользователя, у которого есть такая ссылка.
Разрешения с аспектом приглашения представляют разрешения, добавленные путем приглашения определенных пользователей или групп для доступа к файлу.
Значения свойств роли
Значение | Описание |
---|---|
read | Дает возможность считывать метаданные и содержимое элемента. |
write | Дает возможность считывать и изменять метаданные и содержимое элемента. |
owner | В случае с SharePoint и OneDrive для бизнеса представляет роль владельца. |
Предоставление ссылок
Наиболее распространенным типом разрешений является общий доступ к ссылкам. Ссылки для общего доступа предоставляют уникальный URL-адрес, включающий ресурс, к которому предоставляется доступ, и маркер аутентификации, предоставляющий доступ к ресурсу. Пользователям не требуется выполнять вход для доступа к содержимому, предоставленному с помощью ссылки для общего доступа. Пользователи могут поделиться ссылкой, предоставляющей доступ к содержимому только для чтения или для чтения и записи.
Ссылка для просмотра
Ссылка для просмотра предоставляет доступ к элементу только для чтения.
{
"id": "1",
"roles": ["read"],
"link": {
"type": "view",
"webUrl": "https://onedrive.live.com/redir?resid=5D33DD65C6932946!70859&authkey=!AL7N1QAfSWcjNU8&ithint=folder%2cgif",
"application": { "id": "1234", "displayName": "Sample Application" }
},
"shareId": "!LKj1lkdlals90j1nlkascl",
"expirationDateTime": "0001-01-01T00:00:00Z"
}
Ссылка для редактирования
Ссылка для редактирования предоставляет доступ к элементу для чтения и записи.
{
"id": "2",
"roles": ["write"],
"link": {
"type": "edit",
"webUrl": "https://onedrive.live.com/redir?resid=5D33DD65C6932946!70859&authkey=!AL7N1QAfSWcjNU8&ithint=folder%2cgif",
"application": { "id": "1234", "displayName": "Sample Application" }
},
"shareId": "!LKj1lkdlals90j1nlkascl",
"expirationDateTime": "0001-01-01T00:00:00Z"
}
Ссылка для определенных пользователей
Эта ссылка предоставляет доступ для чтения и записи определенным пользователям в коллекции grantedToIdentities
.
{
"id": "3",
"grantedToIdentities": [
{
"user": {
"id": "35fij1974gb8832",
"displayName": "Misty Suarez"
}
},
{
"user": {
"id": "9397721fh4hgh73",
"displayName": "Judith Clemons"
}
}
],
"grantedToIdentitiesV2": [
{
"user": {
"id": "35fij1974gb8832",
"displayName": "Misty Suarez"
},
"siteUser": {
"id": "1",
"displayName": "Misty Suarez",
"loginName": "Misty Suarez"
}
},
{
"user": {
"id": "9397721fh4hgh73",
"displayName": "Judith Clemons"
},
"siteUser": {
"id": "2",
"displayName": "Judith Clemons",
"loginName": "Judith Clemons"
}
}
],
"roles": ["write"],
"link": {
"webUrl": "https://contoso.sharepoint.com/:w:/t/design/a577ghg9hgh737613bmbjf839026561fmzhsr85ng9f3hjck2t5s",
"application": { "id": "1234", "displayName": "Sample Application" }
},
"shareId": "!LKj1lkdlals90j1nlkascl",
"expirationDateTime": "0001-01-01T00:00:00Z"
}
Существующая ссылка для доступа
Эта ссылка не предоставляет пользователю никаких дополнительных привилегий.
{
"id": "00000000-0000-0000-0000-000000000000",
"roles": ["read"],
"link": {
"scope": "existingAccess",
"type": "view",
"webUrl": "https://contoso.sharepoint.com/:w:/t/design/Shared%20Documents/SampleDoc.docx?d=w12345",
},
"expirationDateTime": "0001-01-01T00:00:00Z"
}
Приглашение к совместному использованию
Вы можете не только создавать ссылки для общего доступа, но и пригласить пользователя по электронному адресу. В этом сценарии разрешение создает приглашение, которое отправляется на электронную почту пользователя.
Приглашение на электронный адрес
Если разрешение было отправлено по адресу электронной почты получателю, у которого нет соответствующей учетной записи, свойство grantedTo не может быть задано до активации приглашения, что происходит при первом выборе ссылки и входе в систему.
{
"id": "1",
"roles": ["write"],
"invitation": {
"email": "jd@contoso.com",
"signInRequired": true
},
"shareId": "FWxc1lasfdbEAGM5fI7B67aB5ZMPDMmQ11U",
"expirationDateTime": "0001-01-01T00:00:00Z"
}
Когда пользователь активирует приглашение к совместному использованию, в свойстве grantedTo появятся сведения об учетной записи, которая активировала разрешения:
{
"id": "1",
"roles": ["write"],
"grantedTo": {
"user": {
"id": "5D33DD65C6932946",
"displayName": "Robin Danielsen"
}
},
"grantedToV2": {
"user": {
"id": "5D33DD65C6932946",
"displayName": "Robin Danielsen"
},
"siteUser": {
"id": "1",
"displayName": "Robin Danielsen",
"loginName": "Robin Danielsen"
}
},
"invitation": {
"email": "rd@contoso.com",
"signInRequired": true
},
"shareId": "FWxc1lasfdbEAGM5fI7B67aB5ZMPDMmQ11U",
"expirationDateTime": "0001-01-01T00:00:00Z"
}
Методы
Метод | Путь REST |
---|---|
Получение списка разрешений | GET /drive/items/{item-id}/permissions |
Получение разрешения | GET /drive/items/{item-id}/permissions/{id} |
Добавление разрешений | POST /drive/items/{item-id}/invite |
Обновление разрешения | PATCH /drive/items/{item-id}/permissions/{id} |
Удаление разрешения | DELETE /drive/items/{item-id}/permissions/{id} |
Предоставление доступа к ссылке общего доступа | POST /shares/{encoded-sharing-url}/permission/grant |