Microsoft Teams에서 개인 채널의 수명 주기 관리Manage the life cycle of private channels in Microsoft Teams

여기에서는 Graph API를 사용하여 조직의 Teams 개인 채널을 관리하는 데 필요한 지침을 찾을 수 있습니다.Here you'll find the guidance you need to manage use the Graph API to manage Teams private channels in your organization.

팀 구성원이 비공개 채널을 만들 수 있는지 여부 설정Set whether team members can create private channels

관리자는 Graph API를 사용하여 구성원이 특정 팀에서 비공개 채널을 만들 수 있는지 여부를 제어할 수 있습니다.As an admin, you can use Graph API to control whether members can create private channels in specific teams. 예제는 다음과 같습니다.Here's an example.

PATCH /teams/<team_id>
{"memberSettings": 
  {
    "allowCreatePrivateChannels": false
  }
}

팀 소유자를 대신하여 비공개 채널 만들기Create a private channel on behalf of a team owner

관리자는 Graph API를 사용하여 팀 소유자를 대신하여 개인 채널을 만들 수 있습니다.As an admin, you can use the Graph API to create a private channel on behalf of a team owner. 예를 들어 조직에서 개인 채널을 중앙 집중화하려는 경우 이 작업을 원할 수 있습니다.For example, you may want to do this if your organization wants to centralize creation of private channels.

POST /teams/{id}/channels
{ "membershipType": "Private",
  "displayName": "<Channel_Name>",
  "members":[{    
           "@odata.type":"#microsoft.graph.aadUserConversationMember",
           "user@odata.bind":"https://graph.microsoft.com/beta/users('<user_id>')",
           "roles":["owner"]
            }]

모든 개인 채널 메시지 목록을 찾습니다.Get a list of all private channel messages

보관 및 감사를 위해 개인 채널에 게시된 모든 메시지 및 응답 목록을 얻을 수 있습니다.You may want to get a list of all messages and replies posted in a private channel for archiving and auditing purposes. Graph API를 사용하여 이 작업을 하는 방법에는 다음과 같은 것이 있습니다.Here's how to use Graph API to do this.

GET /teams/{id}/channels/{id}/messages
GET /teams/{id}/channels/{id}/messages/{id}/replies/{id}

팀의 모든 비공개 채널에 대한 SharePoint URL 찾기Find SharePoint URLs for all private channels in a team

개인 채널의 파일에 대한 eDiscovery 또는 법적 보류를 수행하려는 경우 또는 특정 개인 채널에 파일을 저장하는 사용자 지정 앱을 빌드하려는 경우 각 개인 채널에 대해 생성된 고유한 SharePoint 사이트 모음을 쿼리하는 방법을 원할 것입니다.Whether you're looking to perform eDiscovery or legal hold on files in a private channel or looking to build a custom app that places files in specific private channels, you'll want a way to query the unique SharePoint site collections that are created for each private channel.

관리자는 Graph API 명령을 사용하여 이러한 URL을 쿼리할 수 있습니다.As an admin, you can use Graph APIs commands to query these URLs.

Graph Explorer를 통해 이러한 명령을 시도할 수 있습니다.You can try these commands through Graph Explorer.

  1. 다음을 사용하여 팀의 그룹 ID인 경우, <group_id> 팀의 개인 채널 ID 목록을 얻습니다.Use the following to get the list of private channel IDs for a given team, where <group_id> is the group ID of the team. 후속 호출에서 필요합니다.You'll need this in subsequent calls. (팀 링크에서 그룹 ID를 쉽게 찾을 수 있습니다.)(You can easily find the group ID in the link to the team).

    요청Request

    GET https://graph.microsoft.com/beta/teams/<group_id>/channels?$filter=membershipType eq 'private'
    

    응답Response

    HTTP/1.1 200 OK
    Content-type: application/json
    Content-length:
    
    {
      "value": [
        {
          "description": "description-value",
          "displayName": "display-name-value",
          "id": "channel_id",
          "membershipType": "membership-type-value",
          "isFavoriteByDefault": false,
          "webUrl": "webUrl-value",
          "email": "email-value"
        }
      ]
    }
    
  2. SharePoint URL을 사용하려는 각 개인 채널에 대해 다음을 요청합니다. 여기서 channel_id < > ID입니다.For each private channel which you want to get the SharePoint URL, make the following request, where <channel_id> is the channel ID.

    요청Request

    GET https://graph.microsoft.com/beta/teams/<group_id>/channels/<channel_id>/filesFolder
    

    응답Response

    HTTP/1.1 200 OK
    Content-type: application/json
    Content-length:
    
    {
      "value": [
        {
          "description": "description-value",
          "displayName": "display-name-value",
          "id": "channel_id",
          "membershipType": "membership-type-value",
          "isFavoriteByDefault": false,
          "webUrl": "webUrl-value",
          "email": "email-value"
        }
      ]
    }
    

개인 채널에서 소유자 및 구성원의 역할 나열 및 업데이트List and update roles of owners and members in a private channel

개인 채널의 소유자 및 구성원을 나열하여 개인 채널의 특정 멤버를 소유자로 승격해야 하는지 여부를 결정할 수 있습니다.You may want to list out the owners and members of a private channel to decide whether you need to promote certain members of the private channel to an owner. 이 경우 조직을 떠날 개인 채널의 소유자가 있으며 개인 채널에 채널 소유권을 요구하는 관리자의 도움이 필요한 경우 이 문제를 발생될 수 있습니다.This can happen when you have owners of private channels who have left the organization and the private channel requires admin help to claim ownership of the channel.

관리자는 Graph API를 사용하여 이러한 작업을 수행할 수 있습니다.As an admin, you can use the Graph API to perform these actions.

Graph Explorer를 통해 이러한 명령을 시도할 수 있습니다.You can try these commands through Graph Explorer.

  1. 다음을 사용하세요. 여기서 group_id 팀의 그룹 ID이고 channel_id < > < > ID입니다.Use the following, where <group_id> is the group ID of the team and <channel_id> is the channel ID.

    요청Request

    GET https://graph.microsoft.com/beta/teams/<group_id>/channels/<channel_id>/members
    

    응답Response

    HTTP/1.1 200 OK Content-type: application/json
    Content-length: 
    {
          "@odata.context": "https://graph.microsoft.com/beta/$metadata#teams({group_id}')/channels('{channel_id}')/members",
          "@odata.count": 2,
          "value": [
              {
                  "@odata.type": "#microsoft.graph.aadUserConversationMember",
                  "id": "id-value",
                  "roles": [],
                  "displayName": "display-name-value",
                  "userId": "userId-value",
                  "email": "email-value"
              },
              {
                  "@odata.type": "#microsoft.graph.aadUserConversationMember",
              "id": "id-value",
              "roles": ["owner"],
              "displayName": "display-name-value",
              "userId": "userId-value",
              "email": "email-value"
              }
          ]
    }
    
  2. 다음을 사용하여 멤버를 소유자로 승격합니다. 여기서 group_id, channel_id 및 ID가 이전 호출에서 < > < > < > 반환됩니다.Use the following to promote the member to an owner, where <group_id>, <channel_id>, and <id> are returned from the previous call. 이전 호출에서 반환된 ID와 userId는 동일하지 않습니다. 서로 < > < > 교환할 수 없습니다.Note that <id> and <userId> returned from the previous call aren't the same and aren't interchangeable. ID를 < 사용하는지 확인 >Make sure you use <id>.

    요청Request

    PATCH 
    https://graph.microsoft.com/beta/teams/<group_id>/channels/<channel_id>/members/<id>
    
    {
    "@odata.type": "#microsoft.graph.aadUserConversationMember",
    "roles": ["owner"]
    }
    

    응답Response

    HTTP/1.1 200 OK
    Content-type: application/json
    
    {
      "@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('{group_id}')/channels('{channel_id}')/members/$entity",
      "@odata.type": "#microsoft.graph.aadUserConversationMember",
      "id": "id-value",
      "roles": ["owner"],
      "displayName": "display-name-value",
      "userId": "userId-value",
      "email": "email-value"
     }
    

Microsoft Graph API를 사용하여 Teams에서 작업Use the Microsoft Graph API to work with Teams

채널 나열List channels

채널 만들기Create channel

채널에 구성원 추가Add member to channel

채널에서 구성원 업데이트Update member in channel

채널에서 구성원 제거Remove member from channel