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


Создание timeOff

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

Создайте новый экземпляр timeOff в расписании.

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

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

Разрешения

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

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

Примечание. Этот API поддерживает разрешения администратора. Пользователи с ролями администратора могут получать доступ к группам, членом которых они не являются.

HTTP-запрос

POST /teams/{teamId}/schedule/timesOff

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

Заголовок Значение
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
Content-Type application/json. Обязательно.
MS-APP-ACTS-AS Идентификатор пользователя (GUID). Требуется только в том случае, если маркер авторизации является маркером приложения; В противном случае — необязательно.

Текст запроса

В тексте запроса укажите представление измененного объекта timeOff в формате JSON.

В следующей таблице перечислены свойства, которые можно использовать при создании объекта timeOff .

Свойство Тип Описание
draftTimeOff timeOffItem Черновая версия этого элемента timeOff , которую могут просматривать руководители. Прежде чем он станет видимым для участников команды, необходимо предоставить общий доступ. Параметр draftOpenShift или sharedOpenShift должен иметь значение null.
isStagedForDeletion Логический TimeOff помечается для удаления, процесс, который завершается при совместном использовании расписания. Необязательный
sharedTimeOff timeOffItem Общая версия timeOff , которую можно просмотреть как сотрудникам, так и руководителям. Обновления свойству sharedTimeOff отправлять уведомления пользователям в клиенте Teams. Параметр draftOpenShift или sharedOpenShift должен иметь значение null.
userId String Идентификатор пользователя, назначенного timeOff. Обязательно.

Отклик

В случае успешного выполнения этот метод возвращает код отклика 201 Created и объект timeOff в теле отклика.

Пример

Запрос

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

POST https://graph.microsoft.com/v1.0/teams/{teamId}/schedule/timesOff
Content-type: application/json

{
  "userId": "aa162a04-bec6-4b81-ba99-96caa7b2b24d",
  "sharedTimeOff": {
    "timeOffReasonId": "TOR_29a5ba96-c7ef-4e76-bec6-055323746314",
    "startDateTime": "2024-10-10T19:00:00Z",
    "endDateTime": "2024-10-10T20:00:00Z",
    "theme": "blue"
  },
  "draftTimeOff": null,
  "isStagedForDeletion": false
}

Отклик

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

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

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

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('48ba9e52-8d25-41c7-bbe7-5ee6346eec0d')/schedule/timesOff/$entity",
  "@odata.etag": "\"40021ee2-0000-0c00-0000-672ea2790000\"",
  "id": "SHFT_d0941bce-2229-43f5-b1cd-c9e2eaf592cf",
  "createdDateTime": "2024-11-08T23:44:56.913Z",
  "lastModifiedDateTime": "2024-11-08T23:44:56.913Z",
  "userId": "aa162a04-bec6-4b81-ba99-96caa7b2b24d",
  "draftTimeOff": null,
  "lastModifiedBy": {
    "application": null,
    "device": null,
    "user": {
      "id": "366c0b19-49b1-41b5-a03f-9f3887bd0ed8",
      "displayName": "John Doe",
      "userIdentityType": "aadUser",
      "tenantId": null
    }
  },
  "sharedTimeOff": {
    "timeOffReasonId": "TOR_29a5ba96-c7ef-4e76-bec6-055323746314",
    "startDateTime": "2024-10-10T19:00:00Z",
    "endDateTime": "2024-10-10T20:00:00Z",
    "theme": "blue"
  },
  "isStagedForDeletion": false
}