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


Создание канала

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

Создайте новый канал в команде, как указано в тексте запроса. При создании канала максимальная длина канала displayName составляет 50 символов. Это имя, которое отображается пользователю в Microsoft Teams.

При создании частного канала можно добавить не более 200 участников.

Примечание.

  • Некоторые специальные символы в имени канала вызовут ошибку API Get filesFolder . Дополнительные сведения см. в статье Известные проблемы.
  • При создании частного или общего канала сайт SharePoint может не подготовиться. Если сайт не сможет подготовиться через 5 минут, используйте API Get filesFolder для активации подготовки.

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

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

Разрешения

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

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

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

Примечание.

  • Разрешения Group.ReadWrite.All и Directory.ReadWrite.All поддерживаются только для обратной совместимости. Рекомендуется обновить решения, чтобы использовать другое разрешение, указанное в предыдущей таблице, и избегать использования этих разрешений в будущем.
  • Разрешение Channel.Create.Group использует согласие для конкретного ресурса. В будущем корпорация Майкрософт может потребовать от вас или ваших клиентов платить дополнительную плату в зависимости от объема данных, импортированных с помощью API-интерфейсов Teamwork.Migrate.All и (или) миграции.

HTTP-запрос

POST /teams/{team-id}/channels

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

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

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

Предоставьте в тексте запроса описание объекта channel в формате JSON.

Отклик

В случае успешного выполнения этот метод возвращает код отклика 201 Created и объект канала в тексте ответа для канала со значением standardmembershipType или private. Для канала со значением membershipType этот метод возвращает код отклика shared202 Accepted и ссылку на teamsAsyncOperation.

Примеры

Пример 1. Создание стандартного канала

Запрос

В следующем примере показан запрос на создание стандартного канала.

POST https://graph.microsoft.com/v1.0/teams/57fb72d0-d811-46f4-8947-305e6072eaa5/channels
Content-type: application/json

{
  "displayName": "Architecture Discussion",
  "description": "This channel is where we debate all future architecture plans",
  "membershipType": "standard"
}

Отклик

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

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

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

{
  "id": "19:4b6bed8d24574f6a9e436813cb2617d8@thread.tacv2",
  "displayName": "Architecture Discussion",
  "description": "This channel is where we debate all future architecture plans"
}

Пример 2. Создание частного канала от имени пользователя

Запрос

В следующем примере показан запрос на создание частного канала и добавление пользователя в качестве владельца команды.

POST https://graph.microsoft.com/v1.0/teams/57fb72d0-d811-46f4-8947-305e6072eaa5/channels
Content-type: application/json

{
  "@odata.type": "#Microsoft.Graph.channel",
  "membershipType": "private",
  "displayName": "My First Private Channel",
  "description": "This is my first private channels",
  "members":
     [
        {
           "@odata.type":"#microsoft.graph.aadUserConversationMember",
           "user@odata.bind":"https://graph.microsoft.com/v1.0/users('62855810-484b-4823-9e01-60667f8b12ae')",
           "roles":["owner"]
        }
     ]
}

Заметка: Чтобы добавить гостевую учетную запись в канал, для свойства roles используйте значение guest.

Отклик

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

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('57fb72d0-d811-46f4-8947-305e6072eaa5')/channels/$entity",
    "id": "19:33b76eea88574bd1969dca37e2b7a819@thread.skype",
    "displayName": "My First Private Channel",
    "description": "This is my first private channels",
    "isFavoriteByDefault": null,
    "email": "",
    "webUrl": "https://teams.microsoft.com/l/channel/19:33b76eea88574bd1969dca37e2b7a819@thread.skype/My%20First%20Private%20Channel?groupId=57fb72d0-d811-46f4-8947-305e6072eaa5&tenantId=0fddfdc5-f319-491f-a514-be1bc1bf9ddc",
    "membershipType": "private"
}

Пример 3. Создание канала в режиме миграции

Запрос

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

POST https://graph.microsoft.com/v1.0/teams/57fb72d0-d811-46f4-8947-305e6072eaa5/channels
Content-Type: application/json

{
  "@microsoft.graph.channelCreationMode": "migration",
  "displayName": "Import_150958_99z",
  "description": "Import_150958_99z",
  "createdDateTime": "2020-03-14T11:22:17.067Z"
}

Отклик

Ниже показан пример отклика. Заголовок Content-Location в ответе указывает путь к подготавливаемого канала. После подготовки этот канал можно использовать для импорта сообщений.

HTTP/1.1 201 Created
Location: /teams('57fb72d0-d811-46f4-8947-305e6072eaa5')/channels('19:4b6bed8d24574f6a9e436813cb2617d8@thread.tacv2')

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('57fb72d0-d811-46f4-8947-305e6072eaa5')/channels/$entity",
    "id": "19:987c7a9fbe6447ccb3ea31bcded5c75c@thread.tacv2",
    "createdDateTime": null,
    "displayName": "Import_150958_99z",
    "description": "Import_150958_99z",
    "isFavoriteByDefault": null,
    "email": null,
    "webUrl": null,
    "membershipType": null,
    "moderationSettings": null
}

Пример 4. Создание частного канала от имени пользователя с помощью имени участника-пользователя

Запрос

В следующем примере показан запрос на создание частного канала и добавление пользователя в качестве владельца команды.

POST https://graph.microsoft.com/v1.0/teams/57fb72d0-d811-46f4-8947-305e6072eaa5/channels
Content-type: application/json

{
  "@odata.type": "#Microsoft.Graph.channel",
  "membershipType": "private",
  "displayName": "My First Private Channel",
  "description": "This is my first private channels",
  "members":
     [
        {
           "@odata.type":"#microsoft.graph.aadUserConversationMember",
           "user@odata.bind":"https://graph.microsoft.com/v1.0/users('jacob@contoso.com')",
           "roles":["owner"]
        }
     ]
}

Заметка: Чтобы добавить гостевую учетную запись в канал, для свойства roles используйте значение guest.

Отклик

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

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('57fb72d0-d811-46f4-8947-305e6072eaa5')/channels/$entity",
    "id": "19:33b76eea88574bd1969dca37e2b7a819@thread.skype",
    "displayName": "My First Private Channel",
    "description": "This is my first private channels",
    "isFavoriteByDefault": null,
    "email": "",
    "webUrl": "https://teams.microsoft.com/l/channel/19:33b76eea88574bd1969dca37e2b7a819@thread.skype/My%20First%20Private%20Channel?groupId=57fb72d0-d811-46f4-8947-305e6072eaa5&tenantId=0fddfdc5-f319-491f-a514-be1bc1bf9ddc",
    "membershipType": "private"
}

Пример 5. Создание общего канала от имени пользователя

Запрос

В следующем примере показано, как создать общий канал.

POST https://graph.microsoft.com/v1.0/teams/57fb72d0-d811-46f4-8947-305e6072eaa5/channels
Content-type: application/json

{
  "displayName": "My First Shared Channel",
  "description": "This is my first shared channel",
  "membershipType": "shared",
  "members": [
    {
      "@odata.type": "#microsoft.graph.aadUserConversationMember",
      "user@odata.bind": "https://graph.microsoft.com/v1.0/users('7640023f-fe43-573f-9ff4-84a9efe4acd6')",
      "roles": [
        "owner"
      ]
    }
  ]
}

Заметка: Чтобы добавить гостевую учетную запись в канал, для свойства roles используйте значение guest.

Отклик

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

HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Location: /teams/7640023f-fe43-4cc7-9bd3-84a9efe4acd6/operations/359d75f6-2bb8-4785-ab2d-377bf3d573fa
Content-Length: 0

Пример 7. Создание общего канала, к которым предоставлен общий доступ команде ведущего приложения

Запрос

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

POST https://graph.microsoft.com/v1.0/teams/57fb72d0-d811-46f4-8947-305e6072eaa5/channels
Content-type: application/json

{
  "displayName": "My First Shared Channel",
  "description": "This is my first shared channel",
  "membershipType": "shared",
  "members": [
    {
      "@odata.type": "#microsoft.graph.aadUserConversationMember",
      "user@odata.bind": "https://graph.microsoft.com/beta/users('7640023f-fe43-573f-9ff4-84a9efe4acd6')",
      "roles": [
        "owner"
      ]
    }
  ],
  "sharedWithTeams":[
    {
      "id": "57fb72d0-d811-46f4-8947-305e6072eaa5"
    }
  ]
}

Отклик

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

HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Location: /teams/7640023f-fe43-4cc7-9bd3-84a9efe4acd6/operations/359d75f6-2bb8-4785-ab2d-377bf3d573fa
Content-Length: 0

Ограничения регулирования для служб, связанных с Microsoft Graph