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


Тип ресурса разрешения

Пространство имен: 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