Teams 내보내기 API를 사용하면 Microsoft Teams에서 1:1, 그룹 채팅, 모임 채팅 및 채널 메시지를 내보낼 수 있습니다. organization에서 Microsoft Teams 메시지를 내보내야 하는 경우 Teams 내보내기 API를 사용하여 메시지를 추출할 수 있습니다. Chat Message는 채널 또는 채팅 내의 개별 채팅 메시지를 나타냅니다. 채팅 메시지는 루트 채팅 메시지 또는 채팅 메시지의 replyToId 속성에 의해 정의된 응답 스레드의 일부일 수 있습니다.
다음은 이러한 내보내기 API를 사용하는 방법에 대한 몇 가지 예입니다.
예 1: organization에서 Microsoft Teams를 활성화하고 지정된 사용자 또는 팀의 날짜 범위를 전달하여 프로그래밍 방식으로 현재까지 모든 Microsoft Teams 메시지를 내보내려는 경우.
예 2: 날짜 범위를 제공하여 모든 사용자 또는 팀 메시지를 매일 프로그래밍 방식으로 내보내려는 경우. 내보내기 API는 지정된 날짜 범위 동안 생성되거나 업데이트된 모든 메시지를 검색할 수 있습니다.
예 3: 지정된 모임 이끌이에 대한 Teams 모임 녹음/녹화에 대한 링크를 프로그래밍 방식으로 내보낸 다음 실제 녹음/녹화를 다운로드하려는 경우.
예제 4: 지정된 모임 이끌이의 Teams 모임 대본에 대한 링크를 프로그래밍 방식으로 내보낸 다음 실제 대본을 다운로드하려는 경우.
Teams 내보내기 API에서 지원하는 것은 무엇인가요?
Teams 메시지 대량 내보내기:Teams 내보내기 API 제한을 참조하세요. 이러한 제한이 있는 경우 Teams 메시지를 대량으로 내보낼 수 있습니다.
Teams 메시지의 상한: Teams 메시지 API의 TOP 필터 제한은 성능이 제한되는 최대 한도로 250으로 설정하는 것이 좋습니다.
참고
$top 값은 최대 힌트이며 보장된 페이지 크기가 아닙니다. 여러 기본 Outlook 폴더/사서함에서 메시지를 가져오는 방식으로 인해 응답이 요청된 것보다 적은 항목을 반환할 수 있으며 다른 폴더에서 검색을 계속하라는 메시지가 @odata.nextLink 포함될 수 있습니다. 이 동작은 의도된 동작입니다.
애플리케이션 컨텍스트: Microsoft Graph를 호출하려면 앱이 Microsoft ID 플랫폼에서 액세스 토큰을 획득해야 합니다. 액세스 토큰에는 앱에 대한 정보와 Microsoft Graph를 통해 사용할 수 있는 리소스 및 API에 대한 앱 권한이 포함됩니다. 액세스 토큰을 얻으려면 앱이 Microsoft ID 플랫폼에 등록되어 있어야 합니다. 사용자 또는 관리자가 필요한 Microsoft Graph 리소스에 대한 액세스 권한을 부여해야 합니다. 토큰을 가져오기 위해 앱을 Microsoft ID 플랫폼과 통합하는 데 이미 익숙한 경우 다음 단계 섹션에서 Microsoft Graph와 관련된 정보 및 샘플을 참조하세요.
하이브리드 환경: 내보내기 API는 하이브리드 환경(온-프레미스, Exchange 및 Teams)에서 프로비저닝된 사용자가 보낸 메시지를 지원합니다. 하이브리드 환경에 대해 구성된 사용자가 보낸 모든 메시지는 내보내기 API를 사용하여 액세스할 수 있습니다.
사용자가 삭제한 메시지: Teams 클라이언트에서 사용자가 삭제한 메시지는 삭제 시점으로부터 최대 21일 동안 내보내기 API를 사용하여 액세스할 수 있습니다.
메시지 첨부 파일: 내보내기 API에는 메시지로 보낸 파일에 대한 첨부 파일 정보가 포함됩니다. 첨부 파일은 메타 데이터로 표시될 수 있으며 경우에 따라 메시지 본문 내에 링크(예: ASM URL)로 표시될 수 있습니다. 본문에 포함된 URL은 직접 액세스할 수 없으므로 메시지 컬렉션
attachments을 사용하여 첨부 파일을 검색해야 합니다.반응: 내보내기 API는 Teams 메시지에서 사용자가 시작한 반응을 지원합니다. 현재 지원되는 반응은 마음, 화난, 좋아요, 슬픔, 놀라움, 웃음입니다. 반응 외에도 내보내기 API는 메시지에 대한 반응에 대한 변경 및 업데이트를 포함하는 반응 편집 기록도 지원합니다.
참고
색 변경으로 사용자 지정된 반응은 현재 내보내기 API에서 지원되지 않습니다.
공유 채널 메시지: 내보내기 API는 공유 채널에서 메시지 캡처를 지원합니다.
삭제된 팀: 내보내기 API는 삭제한 날로부터 최대 30일 동안 삭제된 팀과 삭제된 표준, 비공개 및 공유 채널 에서 메시지 캡처 를 지원합니다. 30일이 지나면 팀과 채널이 영구 삭제되고 메시지를 검색할 수 없습니다.
삭제된 사용자: 내보내기 API는 사용자가 삭제된 시간으로부터 최대 30일 동안 삭제된 사용자에 대한 메시지 캡처를 지원합니다. 삭제된 사용자 목록을 찾으려면 지운 편지함을 참조하세요.
비활성 사용자: 내보내기 API는 사용자가 비활성 상태가 된 시간으로부터 최대 30일 동안 비활성 사용자에 대한 메시지 캡처를 지원합니다. 비활성 사서함 목록을 찾으려면 비활성 사서함을 참조하세요.
Chat 메시지 속성:Teams 내보내기 API에서 지원하는 속성의 전체 목록을 참조하세요.
제어 메시지: 내보내기 API는 사용자가 생성한 메시지 외에도 제어 메시지 캡처를 지원합니다. 제어 메시지는 Teams 클라이언트에 표시되는 시스템 생성 메시지입니다. 타임스탬프와 함께 "사용자 A가 사용자 B를 채팅에 추가하고 모든 채팅 기록을 공유했습니다"와 같은 중요한 정보를 전달합니다. 시스템 메시지를 통해 발신자는 팀, 채널 또는 채팅에서 발생한 이벤트에 대한 인사이트를 얻을 수 있습니다. 내보내기 API에서 현재 지원하는 제어 메시지 목록을 참조하세요.
채팅 및 채널에서 메시지 내보내기에 대해 자세히 알아보세요.
참고
모임 관련 제어 메시지는 현재 내보내기 API에서 지원되지 않습니다.
편집된 기록:테넌트가 Teams 보존 정책으로 설정된 경우 내보내기 API는 개인 및 그룹 채팅에 대한 메시지 편집 기록뿐만 아니라 공개 및 공유 채널의 게시물 및 댓글 캡처를 지원합니다.
Teams 보존 정책에 대한 자세한 내용은 Microsoft Teams에 대한 보존 정책 관리를 참조하세요.
모임 대화록: 지정된 사용자가 이끌이인 예약된 온라인 모임 인스턴스에서 모든 대화 내용을 가져옵니다. 이 API는 현재 예약된 비공개 모임만 지원합니다.
모임 대본 내보내기에 대해 자세히 알아보세요.
모임 녹음/녹화: 지정된 사용자가 이끌이인 예약된 온라인 모임 인스턴스에서 모든 녹음/녹화를 가져옵니다. 이 API는 현재 예약된 비공개 모임만 지원합니다.
모임 녹음/녹화 내보내기에 대해 자세히 알아보세요.
대상 메시지: 에이전트 또는 봇이 사용자에게 보낸 메시지는 24시간 후에 클라이언트에서 제거된 후에도 내보낼 수 있습니다. 대상 메시지를 내보내는 방법 및 대상 메시지를 삭제하는 방법을 참조하세요.
Teams 내보내기 API에 액세스하는 방법
예제 1 은 필터 없이 사용자 또는 팀의 모든 메시지를 검색하는 간단한 쿼리입니다.
GET https://graph.microsoft.com/v1.0/users/{id}/chats/getAllMessagesGET https://graph.microsoft.com/v1.0/teams/{id}/channels/getAllMessages예제 2 는 날짜/시간 필터 및 상위 50개 메시지를 지정하여 사용자 또는 팀의 모든 메시지를 검색하는 샘플 쿼리입니다.
GET https://graph.microsoft.com/v1.0/users/{id}/chats/getAllMessages?$top=50&$filter=lastModifiedDateTime gt 2020-06-04T18:03:11.591Z and lastModifiedDateTime lt 2020-06-05T21:00:09.413ZGET https://graph.microsoft.com/v1.0/teams/{id}/channels/getAllMessages?$top=50&$filter=lastModifiedDateTime gt 2020-06-04T18:03:11.591Z and lastModifiedDateTime lt 2020-06-05T21:00:09.413Z예제 3 은 사용자의 사용 가능한 모든 Teams 모임 녹음/녹화에 대한 링크를 검색하는 샘플 쿼리입니다. 날짜 범위 필터링이 지원됩니다. TOP n 필터는 Chat 메시지와 유사하게 지원됩니다.
GET https://graph.microsoft.com/v1.0/users/{id}/onlineMeetings/getAllRecordings?$filter=MeetingOrganizer/User/Id eq ‘{id}’GET https://graph.microsoft.com/v1.0/users/{id}/onlineMeetings/getAllRecordings(meetingOrganizerUserId='{userId}',startDateTime={startDateTime},endDateTime={endDateTime})예제 4 는 사용자의 사용 가능한 모든 Teams 모임 대본에 대한 링크를 검색하는 샘플 쿼리입니다. 날짜 범위 필터링이 지원됩니다. TOP n 필터는 Chat 메시지와 유사하게 지원됩니다.
GET https://graph.microsoft.com/v1.0/users/{id}/onlineMeetings/getAllTranscripts?$filter=MeetingOrganizer/User/Id eq ‘{id}’GET https://graph.microsoft.com/v1.0/users/{id}/onlineMeetings/getAllTranscripts(meetingOrganizerUserId='{userId}',startDateTime={startDateTime},endDateTime={endDateTime})예제 5는 사용자의 모든 사용 가능한 기록된 Teams 모임을 먼저 가져온 다음 사용 가능한 모든 AI 인사이트를 검색하는 샘플 연결된 쿼리입니다.
GET https://graph.microsoft.com/v1.0/users/{id}/onlineMeetings/getAllTranscripts?$filter=MeetingOrganizer/User/Id eq '{id}'그런 다음 위의 요청에서 반환된 각각
meetingId에 대한 AI 인사이트를 검색합니다.GET https://graph.microsoft.com/v1.0/copilot/users/{id}/onlineMeetings/{meetingId}/aiInsights참고
API는 여러 결과가 있는 경우 다음 페이지 링크가 있는 응답을 반환합니다. 다음 결과 집합을 가져오려면 의 URL @odata.nextlink에서 GET을 호출합니다. 없거나 null이면 @odata.nextlink 모든 메시지가 검색됩니다.
참고
응답의 메시지 순서는 createdDateTime 또는 lastModifiedDateTime과 같은 날짜/시간을 기준으로 정렬되도록 보장되지 않습니다.
Teams 내보내기 API에 액세스하기 위한 필수 구성 요소
중요한 데이터에 액세스하는 Microsoft Graph의 Microsoft Teams API는 보호되는 API로 간주됩니다. 사용자 없이 액세스하기 위한 요구 사항이 충족되는 한 이러한 API를 호출할 수 있습니다.
응용 프로그램 사용 권한은 로그인한 사용자 없이 실행되는 앱에서 사용됩니다. 관리자만 응용 프로그램 권한을 승인할 수 있습니다. 필요한 권한은 다음과 같습니다.
Chat. Read.All: 모든 1:1, 그룹 채팅 및 모임 채팅 메시지에 액세스할 수 있습니다.
ChannelMessage.Read.All: 모든 채널 메시지에 액세스할 수 있습니다.
User.Read.All: 테넌트의 사용자 목록에 액세스할 수 있습니다.
OnlineMeetingTranscript.Read.All: 1:n으로 예약된 모든 Teams 모임의 대본에 액세스할 수 있습니다.
OnlineMeetingRecording.Read.All: 1:n으로 예약된 모든 Teams 모임의 녹음/녹화에 액세스할 수 있습니다.
Teams 내보내기 API에 대한 라이선스 요구 사항
Microsoft Teams 내보내기 API를 사용하려면 데이터를 내보내는 사용자에게 할당된 활성 Microsoft Teams 라이선스가 조직에 있어야 합니다.
참고
Microsoft Teams 내보내기 API를 사용하는 데 Microsoft Purview 데이터 손실 방지(DLP) 서비스 계획 또는 추가 DLP 라이선스가 필요하지 않습니다.
내보내기 API는 Microsoft Purview DLP 기능과 독립적으로 작동하며 Microsoft Graph 내보내기 API를 통해 데이터 액세스를 지원하는 적절한 Teams 라이선스가 있는 테넌트에서 사용할 수 있습니다.
| 파트너 이름 | 파트너 솔루션 |
|---|---|
|
Microsoft Teams 보관 및 규정 준수 |
|
Microsoft Teams용 Proofpoint Content Capture |
인증된 파트너는 다음과 같습니다. 회사는 기업 내에서 이러한 파트너의 조합과 협력할 수 있습니다.
| 파트너 이름 | 파트너 솔루션 |
|---|---|
|
Microsoft Teams 백업 및 복구 |
|
Microsoft Teams 백업 및 복구 |
다음 단계
인증 프로그램에 참여하려는 공급업체인 경우 다음 단계로 이 양식 을 작성하세요. 더 많은 컨텍스트 및 세부 정보를 제공해야 하는 경우 MS Teams 에코시스템 팀()TeamsCategoryPartner@microsoft.com으로 메일을 보내주세요.
평가 모드(기본값)
모델 선언 없음은 평가 목적으로 각 요청 응용 프로그램당 사용이 제한된 API에 대한 액세스를 활성화합니다.
JSON 표현
다음 예시는 채팅 리소스의 JSON 표현입니다.
네임스페이스: microsoft.graph
{ "id": "string (identifier)", "replyToId": "string (identifier)", "from": {"@odata.type": "microsoft.graph.identitySet"}, "etag": "string", "messageType": "string", "createdDateTime": "string (timestamp)", "lastModifiedDateTime": "string (timestamp)", "deletedDateTime": "string (timestamp)", "subject": "string", "from": { "application": null, "device": null, "conversation": null, "user": { "id": [{"@odata.type": "microsoft.graph.user"}], "displayName": "User Name", "userIdentityType": "aadUser" } }, "body": {"@odata.type": "microsoft.graph.itemBody"}, "summary": "string", "chatId": [{"@odata.type": "microsoft.graph.chat"}] "attachments": [{"@odata.type": "microsoft.graph.chatMessageAttachment"}], "mentions": [{"@odata.type": "microsoft.graph.chatMessageMention"}], "importance": "string", "locale": "string", }참고
chatMessage 리소스에 대한 자세한 내용은 chatMessage 리소스 유형 문서를 참조하세요.
다음 예제는 기록 리소스의 JSON 표현입니다.
네임스페이스: microsoft.graph
{ "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(meetingRecording)", "@odata.count": 2, "@odata.nextLink": "https://graph.microsoft.com/v1.0/users('{userId}')/onlineMeetings/getAllRecordings?$filter=MeetingOrganizer%2fUser%2fId+eq+%27{userId}%27&$skiptoken=MSMjMCMjTkNaYVNIQjVVbXRPYWxaV1dscGFWVGg1V2pOb1IxUXpRWGxrUm1oTFVrWmtTV1ZyYkhwUlZVWm9UMWR3VEdWWGRFTlJWVVpDVVZFOVBRPT0%3d", "value": [ { "@odata.type": "#microsoft.graph.meetingRecording", "id": "6263af16-b660-41d0-a17b-83fbd15a39c7", "meetingId": "MSoxMjczYTAxNi0yMDFkRLTmOTUtODA5My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19aR1F3WTJZNE9XTXROekppWlMwME1XWTRMVGc0TWpBdE1BBXdOV1kzWlRsak9UTXlAdGhyZWFkLnYy", "meetingOrganizerId": "{userId}", "createdDateTime": "2022-08-03T20:43:36.2573447Z", "recordingContentUrl": "https://graph.microsoft.com/v1.0/users/{userId}/onlineMeetings/MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19aR1F3WTJZNE9XTXROekppWlMwME1XWTRMVGc0TWpBdE1ERXdOV1kzWlRsak9UTXlAdGhyZWFkLnYy/recordings/MSMjMCMjMGFjNmUwZTgtYmZjYy00NDQxLTk2MGYtZjllNjVhNjI0NzBh/content" }, { "@odata.type": "#microsoft.graph.meetingRecording", "id": "{recordingId}", "meetingId": "{meetingId}", "meetingOrganizerId": "{userId}", "createdDateTime": "2022-08-03T20:44:11.2635254Z", "recordingContentUrl": " https://graph.microsoft.com/v1.0/users/{userId}/onlineMeetings/{meetingId}/recordings/{recordingId}/content" }, ] }여기서,
<id>단일 녹음을 나타냅니다.<meetingId>모임 또는 통화 식별자를 나타냅니다.<meetingOrganizer/user/id>모임의 이끌이를 나타냅니다.<createdDateTime>모임의 시작 시간을 나타냅니다.<recordingContentUrl>값은 녹음/녹화 콘텐츠의 URL을 나타냅니다.녹음은 MP4 형식입니다.
녹음/녹화 콘텐츠 자체의 평균 크기는 30분에서 60분 범위의 모임에 대해 표시되는 평균을 기반으로 디스크에서 약 350MB입니다.
결과는 반드시 정렬되지 않습니다.
createdDateTime그러나 단일 모임에 대해 여러 녹음/녹화가 있는 경우 동일한meetingId값을 공유합니다. 또한 여러 녹음/녹화에 대한 항목이 해당 모임에 대해 올바르게 순서가 지정됩니다.결과는 연결된 모임 녹음/녹화를 사용할 수 있게 된 후에만 표시됩니다. 즉, 호출자는 가용성을 위해 다른 폴링을 수행할 필요가 없습니다.
결과를 통한 페이지 매김은 Teams 내보내기 API의 현재 패턴에 따라 지원됩니다. 페이지 매김은 응답에 속성이 존재
@oData.nextLink하여 지원됩니다. nextLink 속성에는 다음 표에 표시된 값이 포함됩니다skipToken. noskipToken가 있으면 현재 일괄 처리에서 검색할 결과가 더 이상 없음을 의미합니다.요청 응답 @nextLink 설명 /getAllRecordings개수: 10 ?skipToken=ABC없는 초기 요청 skipToken/getAllRecordings?skipToken=ABC개수: 10 ?skipToken=DEFSkipToken반환됨, 다음 페이지 가져오기 요청/getAllRecordings?skipToken=DEF개수: 7 아니요 skipToken, 더 이상 데이터를 사용할 수 없음$top매개 변수는 Teams 내보내기 API의 현재 패턴에 따라 지원됩니다.DeltaToken변경 내용 추적 및 동기화 시나리오를 사용하도록 설정할 수 있습니다. 기존 델타 쿼리의 개요와 예제는 델타 쿼리를 사용하여 Microsoft Graph 데이터의 변경 내용 추적을 참조하세요.다음 API를 사용하여 선택한
userId,meetingId의 실제 녹화 콘텐츠를 가져오고recordingIdGETgetAllRecordingsAPI의 응답에서 가져올 수 있습니다. 녹음/녹화의 콘텐츠를 반환합니다.GET users('{userId}')/onlineMeetings('{meetingId}')/recordings('{recordingId}')/content
다음 예제는 대화 내용 기록 리소스의 JSON 표현입니다.
네임스페이스: microsoft.graph
{ "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(callTranscript)", "@odata.count": 2, "@odata.nextLink": "https://graph.microsoft.com/v1.0/users('{userId}')/onlineMeetings/getAllTranscripts?$filter=MeetingOrganizer%2fUser%2fId+eq+%27{userId}%27&$skiptoken=MSMjMCMjTkNaYVNIQjVVbXRPYWxaV1dscGFWVGg1V2pOb1IxUXpRWGxrUm1oTFVrWmtTV1ZyYkhwUlZVWm9UMWR3VEdWWGRFTlJWVVpDVVZFOVBRPT0%3d", "value": [ { "@odata.type": "#microsoft.graph.callTranscript", "id": "MSMjMCMjMGFjNmUwZTgtYmZjYy00NDQxLTk2MGYtZjllNjVhNjI0NzBh", "meetingId": "MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19aR1F3WTJZNE9XTXROekppWlMwME1XWTRMVGc0TWpBdE1ERXdOV1kzWlRsak9UTXlAdGhyZWFkLnYy", "meetingOrganizerId": "{userId}", "transcriptContentUrl": "https://graph.microsoft.com/v1.0/users/{userId}/onlineMeetings/MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19aR1F3WTJZNE9XTXROekppWlMwME1XWTRMVGc0TWpBdE1ERXdOV1kzWlRsak9UTXlAdGhyZWFkLnYy/transcripts/MSMjMCMjMGFjNmUwZTgtYmZjYy00NDQxLTk2MGYtZjllNjVhNjI0NzBh/content", "createdDateTime": "2022-08-03T20:43:36.6248355Z" }, { "@odata.type": "#microsoft.graph.callTranscript", "id": "{transcriptId}", "meetingId": "{meetingId}", "meetingOrganizerId": "{userId}", "transcriptContentUrl": "https://graph.microsoft.com/v1.0/users/{userId}/onlineMeetings/{meetingId}/transcripts/{transcriptId}/content", }, ] }여기서,
<id>단일 녹음을 나타냅니다.<meetingId>모임 또는 통화 식별자를 나타냅니다.<meetingOrganizer/user/id>모임의 이끌이를 나타냅니다.<createdDateTime>모임의 시작 시간을 나타냅니다.<transcriptContentUrl>값은 대본 콘텐츠의 URL을 나타냅니다.대본 콘텐츠는 기본적으로 VTT 형식입니다. 그러나 Accept 헤더 값을
application/vnd.openxmlformats-officedocument.wordprocessingml.document사용하여 DOCX 형식도 얻을 수 있습니다.JSON/VTT 형식의 대본 콘텐츠 자체의 평균 크기는 30분에서 60분 범위의 모임에 대한 평균을 기반으로 합니다.
결과는 반드시 정렬되지 않습니다.
createdDateTime그러나 단일 모임에 대해 여러 녹음/녹화가 있는 경우 동일한meetingId값을 공유합니다. 또한 여러 녹음/녹화에 대한 항목이 해당 모임에 대해 올바르게 순서가 지정됩니다.결과는 연결된 모임 녹음/녹화를 사용할 수 있게 된 후에만 표시됩니다. 즉, 호출자는 가용성을 위해 다른 폴링을 수행할 필요가 없습니다.
결과를 통한 페이지 매김은 Teams 내보내기 API의 현재 패턴에 따라 지원됩니다. 응답에 속성이 있으면
@oData.nextLink페이지 매김이 지원됩니다. 이 속성은nextLinkskipToken다음 표에 표시된 값을 포함합니다. noskipToken가 있으면 현재 일괄 처리에서 검색할 결과가 더 이상 없음을 의미합니다.요청 응답 @nextLink 설명 /getAllTranscripts개수: 10 ?skipToken=ABC없는 초기 요청 skipToken/getAllTranscripts?skipToken=ABC개수: 10 ?skipToken=DEFSkipToken반환됨, 다음 페이지 가져오기 요청/getAllTranscripts?skipToken=DEF개수: 7 아니요 skipToken, 더 이상 데이터를 사용할 수 없음$top매개 변수는 Teams 내보내기 API의 현재 패턴에 따라 지원됩니다.DeltaToken변경 내용 추적 및 동기화 시나리오를 사용하도록 설정할 수 있습니다. 기존 델타 쿼리의 개요와 예제는 델타 쿼리를 사용하여 Microsoft Graph 데이터의 변경 내용 추적을 참조하세요.다음 API를 사용하여 GET getAllTranscripts API의 응답에서 얻은 선택한 userId, meetingId 및 transcriptId의 실제 대본 콘텐츠를 가져올 수 있습니다. 녹음/녹화의 콘텐츠를 반환합니다.
GET users('{userId}')/onlineMeetings('{meetingId}')/transcripts('{transcriptId}')/content
자세한 내용은 그래프 API를 사용하여 대화 내용 가져오기를 참조하세요.
API 필터 내보내기
Teams Graph Service에서 호스트되는 내보내기 API는 다음을 사용하여 users/{userId}/chats/getAllMessagesSubstrate 사용자 사서함에서 모든 사용자 메시지를 가져옵니다. 내보내기 API는 사용자에 대해 보낸 메시지와 받은 메시지를 모두 검색하므로 채팅 스레드의 모든 사용자에 대해 API를 호출할 때 중복 메시지가 내보내집니다.
내보내기 API에는 채팅 스레드에 대해 반환된 메시지를 최적화하는 데 도움이 되는 필터 매개 변수가 있습니다. API GET은 전송된 사용자, 봇, 응용 프로그램 및 시스템 이벤트 메시지를 기반으로 메시지를 추출할 수 있는 방법을 허용하는 새 필터 매개 변수를 지원합니다. 필터 매개 변수는 다음으로 보낸 메시지를 지원합니다.
사용자(동일한 요청에서 여러 사용자 ID가 지원됨).
애플리케이션(봇, 커넥터 등).
emailUser 및 unknownFutureValue를 제외한 모든 userIdentityType .
시스템 이벤트 메시지(제어 메시지).
이러한 매개 변수는 요청의 $filter. 요청에 이러한 매개 변수가 없으면 지정된 사용자 채팅에 있는 모든 사용자의 메시지가 반환됩니다.
지원되는 필터링 시나리오는 다음과 같습니다.
$filter=from/application/applicationIdentityType eq '<appType>' (bots/tenantBots/connectors, etc.)
$filter=from/user/id eq '<oid>' (any number of id filters)
$filter=from/user/userIdentityType eq '<userIdentityType>'
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/id eq '<oid>' (sent by app or userid)
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/userIdentityType eq 'anonymousGuest' (sent by app or anonymous)
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/userIdentityType eq 'federatedUser' (sent by app or federated)
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/userIdentityType eq 'anonymousGuest' or from/user/userIdentityType eq 'federatedUser' (sent by app, anonymous or federated)
$filter=from/user/id eq '<oid>' or from/user/userIdentityType eq 'anonymousGuest' (sent by any number of userid or anonymous)
$filter=from/user/id eq '<oid>' or from/user/userIdentityType eq 'federatedUser' (sent by any number of userid or federated)
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/id eq '<oid>' or from/user/userIdentityType eq 'anonymousGuest' or from/user/userIdentityType eq 'federatedUser' (sent by any number of userid or federated or anonymous)
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/id eq '<oid>' or from/user/userIdentityType eq 'anonymousGuest' or from/user/userIdentityType eq 'federatedUser' (sent by any number of userid or federated or anonymous) or messageType eq 'systemEventMessage'
(<any of the previous filters>) and (lastModifiedDateTime+gt+<date>+and+lastModifiedDateTime+lt+<date>)
쿼리는 지정된 사용자가 보낸 메시지를 반환합니다(있는 경우
from/user/id eq ‘{oid}’).쿼리는 사용자 채팅의 일부인 페더레이션 사용자가 보낸 메시지를 반환합니다(있는 경우
from/user/userIdentityType eq ‘federatedUser’).쿼리는 지정된 애플리케이션 유형에서 보낸 메시지를 반환합니다(있는 경우
from/application/applicationIdentityType eq '{appType}').쿼리는 시스템에서 보낸 메시지가 있는 경우
messageType eq 'systemEventMessage'반환합니다.
이러한 매개 변수는 OR 연산자를 사용하거나 매개 변수와 lastModifiedDateTime$filter 결합하여 결합할 수 있습니다.
보존된 메시지에 대한 Teams 내보내기 API
테넌트가 Teams 보존 정책으로 설정된 경우 내보내기 API는 개별 & 그룹 채팅에 대한 보류 폴더에서 메시지 캡처, 공개 & 공유 채널의 게시물, 댓글 캡처를 지원합니다.
Retained Messages API에 액세스하는 방법
예제 1 은 사용자의 모든 보존 메시지를 검색하는 간단한 쿼리입니다.
GET https://graph.microsoft.com/v1.0/users/8b081ef6-4792-4def-b2c9-c363a1bf41d5/chats/getAllRetainedMessages예제 2 는 팀의 모든 보존 메시지를 검색하는 간단한 쿼리입니다.
GET https://graph.microsoft.com/v1.0/teams/8b081ef6-4792-4def-b2c9-c363a1bf41d5/channels/getAllRetainedMessages
getAllRetainedMessages API에서 지원하는 항목
- 채팅 또는 채널에서 사용자에 의해 메시지가 일시 삭제됨 사용자가 보류 상태인 경우 21일의 삭제 기간이 지나면 API를 통해 메시지를 내보낼 수 있습니다.
- 채팅 또는 채널에서 사용자에 의해 메시지가 일시 삭제됨 유효한 보존 정책이 설정된 경우 21일의 삭제 기간이 지나면 API를 통해 메시지를 내보낼 수 있습니다.
- 사용자가 채팅 또는 채널에서 메시지를 편집합니다. 유효한 보존 정책이 설정되어 있으면 이전에 편집한 메시지 버전을 내보낼 수 있습니다.
참고
/getAllRetainedMessages API를 사용하면 삭제일로부터 최대 30일 동안 삭제된 채널 메시지를 검색할 수 있습니다. 30일이 지나면 팀과 채널이 영구 삭제되고 메시지를 검색할 수 없습니다.
Microsoft Copilot 상호 작용
Copilot 상호 작용을 내보낼 수 있는 aiInteractionHistory: getAllEnterpriseInteractions에 대해 자세히 알아보세요.