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


driveItem: createLink

Пространство имен: microsoft.graph

Важно!

API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.

Создайте ссылку для предоставления общего доступа к driveItem driveItem. Действие createLink создает новую ссылку для общего доступа, если указанный тип ссылки еще не существует для вызывающего приложения. Если ссылка для общего доступа указанного типа уже существует для приложения, возвращается существующая ссылка для общего доступа.

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

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) Files.ReadWrite Files.ReadWrite.All, Sites.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) Files.ReadWrite Files.ReadWrite.All
Приложение Files.ReadWrite.All Sites.ReadWrite.All

HTTP-запрос

POST /drives/{driveId}/items/{itemId}/createLink
POST /groups/{groupId}/drive/items/{itemId}/createLink
POST /me/drive/items/{itemId}/createLink
POST /sites/{siteId}/drive/items/{itemId}/createLink
POST /users/{userId}/drive/items/{itemId}/createLink

Заголовки запросов

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
Content-Type application/json. Обязательно.

Тело запроса

В теле запроса определяются свойства ссылки для совместного доступа, запрашиваемой приложением. Запрос должен быть объектом JSON с указанными ниже свойствами.

Свойство Тип Описание
type String Необязательный параметр. Тип создаваемой ссылки для совместного доступа.
область String Необязательный параметр. Область создаваемой ссылки. Либо anonymous, organizationлибо users
expirationDateTime DateTimeOffset Необязательный параметр. Строка в формате yyyy-MM-ddTHH:mm:ssZ элемента DateTime указывает время окончания срока действия разрешения.
password Строка Необязательный параметр. Создатель задает пароль для ссылки общего доступа.
recipients коллекция driveRecipient Необязательный параметр. Коллекция получателей, получающих доступ к ссылке общего доступа.
retainInheritedPermissions Boolean Необязательное свойство. Если true (по умолчанию) все существующие унаследованные разрешения сохраняются для общего элемента при первом предоставлении общего доступа к этому элементу. Если falseзадано значение , все существующие разрешения удаляются при первом предоставлении общего доступа.
sendNotification Логический Если trueзадано значение , этот метод отправляет ссылку общего доступа в сообщении электронной почты пользователям, указанным в recipients. Применимо к OneDrive для бизнеса или SharePoint. Значение по умолчанию — false. Необязательный параметр.

Параметр type может принимать указанные ниже значения.

Значение типа Описание
представление Создает ссылку только для чтения на driveItem.
Отзыв Создает ссылку на проверку для driveItem. Этот параметр доступен только для файлов в OneDrive для бизнеса и SharePoint.
edit Создает ссылку для чтения и записи на driveItem.
Внедрить Создает встраиваемую ссылку на driveItem.
blocksСкачать Создает ссылку только для чтения, которая блокирует скачивание в driveItem. Этот параметр доступен только для файлов в OneDrive для бизнеса и SharePoint.
createOnly Создает ссылку только для отправки на driveItem. Этот параметр доступен только для папок в OneDrive для бизнеса и SharePoint.
addressBar Создает ссылку по умолчанию, которая отображается в адресных строках браузера для вновь созданных файлов. Доступно только в OneDrive для бизнеса и SharePoint. Администратор организации настраивает, поддерживает ли этот тип ссылки, и указывает, какие функции он поддерживает.
adminDefault Создает ссылку по умолчанию на driveItem , как определено администратором организации. Доступно только в OneDrive для бизнеса и SharePoint. Администратор применяет политику для организации.

Типы областей

Параметр scope может принимать указанные ниже значения.

Значение Описание
Анонимные Любой пользователь со ссылкой обладает правом доступа без необходимости входа в систему. В него могут входить люди за пределами вашей организации. Администратор может отключить поддержку анонимных ссылок.
organization; Любой пользователь, вошедший в вашу организацию (клиент), может использовать ссылку для получения доступа. Доступно только в OneDrive для бизнеса и SharePoint.
users Определенные пользователи в коллекции получателя могут использовать ссылку для получения доступа. Доступно только в OneDrive для бизнеса и SharePoint.

Отклик

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

Ответом будет 201 Created , если для driveItem создана новая ссылка для общего доступа или 200 OK возвращается существующая ссылка.

Примеры

В следующем примере запрашивается ссылка для общего доступа для элемента driveItem, указанного {itemId} в OneDrive пользователя. Ссылка для совместного доступа подразумевает доступ только для чтения, и ее может использовать каждый, кому она предоставлена. Для пользователей OneDrive для бизнеса и SharePoint используйте sendNotification параметр , чтобы создать ссылку для общего доступа. Затем ссылка для общего доступа отправляется получателям по электронной почте. Все существующие разрешения удаляются при первом совместном использовании, если retainInheritedPermissions имеет значение false.

Запрос

POST https://graph.microsoft.com/beta/me/drive/items/{itemId}/createLink
Content-Type: application/json

{
  "type": "view",
  "scope": "anonymous",
  "password": "String",
  "recipients": [
    {
      "@odata.type": "microsoft.graph.driveRecipient"
    }
  ],
  "sendNotification": true,
  "retainInheritedPermissions": false
}

Отклик

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "123ABC",
  "roles": ["write"],
  "link": {
    "type": "view",
    "scope": "anonymous",
    "webUrl": "https://1drv.ms/A6913278E564460AA616C71B28AD6EB6",
    "application": {
      "id": "1234",
      "displayName": "Sample Application"
    },
  },
  "hasPassword": true
}

OneDrive для бизнеса и SharePoint поддерживают ссылки с возможностью общего доступа в компании. Они похожи на анонимные ссылки, за исключением того, что они работают только для участников владеющей организации. Чтобы создать такую ссылку, задайте для параметра scope значение organization.

Запрос

POST https://graph.microsoft.com/beta/me/drive/items/{item-id}/createLink
Content-Type: application/json

{
  "type": "edit",
  "scope": "organization"
}

Отклик

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "123ABC",
  "roles": ["write"],
  "link": {
    "type": "edit",
    "scope": "organization",
    "webUrl": "https://contoso-my.sharepoint.com/personal/ellen_contoso_com/...",
    "application": {
      "id": "1234",
      "displayName": "Sample Application"
    },
  }
}

При использовании типа ссылки embed возвращаемое значение webUrl можно внедрять в элемент HTML <iframe>. При создании webHtml ссылки внедрения свойство содержит HTML-код для <iframe> размещения содержимого.

Примечание. Внедрение ссылок поддерживается только в личных учетных записях OneDrive.

Запрос

Ниже показан пример запроса.

POST https://graph.microsoft.com/beta/me/drive/items/{item-id}/createLink
Content-Type: application/json

{
  "type": "embed"
}

Отклик

Ниже показан пример запроса.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "123ABC",
  "roles": ["read"],
  "link": {
    "type": "embed",
    "webHtml": "<IFRAME src=\"https://onedrive.live.com/...\"></IFRAME>",
    "webUrl": "https://onedive.live.com/...",
    "application": {
      "id": "1234",
      "displayName": "Sample Application"
    },
  }
}

Замечания

  • Чтобы создать ссылку на основе политики организации по умолчанию и разрешений вызывающего объекта на driveItem, опустите параметры область и type.
  • Срок действия ссылок, созданных с помощью этого действия, не истекает, если для организации не применяется политика истечения срока действия по умолчанию.
  • Ссылки отображаются в разрешениях общего доступа для driveItem и могут быть удалены владельцем driveItem.
  • Ссылки всегда указывают на текущую версию driveItem , если только он не извлечен (только SharePoint).