Поделиться через


Тип ресурса 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