Тип ресурса разрешения
Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Ресурс разрешений предоставляет сведения о разрешении общего доступа, предоставленном ресурсу driveItem .
Разрешения для общего доступа имеют много разных форм. Ресурс permission представляет эти формы с помощью аспектов в ресурсе.
Примечание. Библиотеки документов OneDrive для бизнеса и SharePoint не возвращают свойство inheritedFrom.
библиотеки документов 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"
}
Свойства
Свойство | Тип | Описание |
---|---|---|
id | Строка | Уникальный идентификатор разрешения среди всех разрешений для элемента. Только для чтения. |
grantedToV2 | SharePointIdentitySet | Для разрешений типа user: сведения о пользователях и приложениях для этого разрешения. Только для чтения. |
grantedToIdentitiesV2 | Коллекция (SharePointIdentitySet) | Для разрешений типа link: сведения о пользователях, которым предоставлено разрешение. Только для чтения. |
invitation | SharingInvitation | Сведения обо всех сопоставленных приглашениях к совместному использованию для данного разрешения. Только для чтения. |
inheritedFrom | ItemReference | Предоставляет ссылку на предка текущего разрешения, если оно наследуется от предка. Только для чтения. |
ссылка | SharingLink | Предоставляет сведения о ссылке текущего разрешения, если это разрешение типа ссылки. Только для чтения. |
roles | Collection(String) | Тип разрешения, например read . Полный список ролей см. в разделе Значения свойств Roles. Только для чтения. |
shareId | String | Уникальный маркер, с помощью которого можно получить доступ к общему элементу через API общих папок. Только для чтения. |
expirationDateTime | DateTimeOffset | Формат гггг-ММ-ддTЧЧ:мм:ссZ свойства DateTimeOffset указывает время окончания срока действия разрешения. DateTime.MinValue указывает, что для этого разрешения не установлен срок действия. Необязательно. |
hasPassword | Логическое | Указывает, установлен ли пароль для этого разрешения. Это свойство отображается только в отклике. Необязательно. Только для чтения. Только для OneDrive Personal. |
grantedTo (нерекомендуемое) | IdentitySet | Для разрешений типа user: сведения о пользователях и приложениях для этого разрешения. Только для чтения. |
grantedToIdentities (нерекомендуемое) | Collection(IdentitySet) | Для разрешений типа: сведения о пользователях, которым предоставлено разрешение. Только для чтения. |
Значения свойств роли
Значение | Описание |
---|---|
read | Дает возможность считывать метаданные и содержимое элемента. |
write | Дает возможность считывать и изменять метаданные и содержимое элемента. |
owner | В случае с 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",
"expirationDateTime": "0001-01-01T00:00:00Z"
}
Ссылка для редактирования
Эта ссылка для редактирования предоставляет доступ для чтения и записи любому пользователю в организации, у которого есть ссылка.
{
"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",
"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"
}
Ссылка для определенных пользователей
Эта ссылка предоставляет доступ для чтения и записи определенным пользователям в коллекции 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"
}
Совместное использование приглашений
Разрешения, отправленные API приглашения или предоставления , могут содержать дополнительные сведения в аспекте приглашения для адресов электронной почты, которые не соответствуют известной учетной записи. В таких случаях свойство grantedTo может быть не задано, пока не будет активирована ссылка приглашения, которая возникает при первом переходе по ссылке и входе пользователя.
{
"id": "1",
"roles": ["write"],
"invitation": {
"email": "jd@fabrikam.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}/createLink |
Приглашение пользователей | 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 |
Отмена разрешений на ссылку для общего доступа | POST /drive/items/{item-id}/permissions/{id}/revokeGrants |