@things-factory/integration-msgraph 10.1.257 → 10.1.259

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,40 @@
1
+ # Microsoft 365 회의 일정 조회
2
+
3
+ 커넥션에 연결된 Microsoft 365 테넌트에서 여러 사용자의 회의 일정을 조회합니다. 조회 기간은 오늘을 기준으로 이전 일수와 이후 일수로 지정합니다.
4
+
5
+ 회의 본문은 조회하지 않습니다. 제목, 시작·종료 시각, 주최자, 참석자와 초대 응답, 온라인 회의 여부, 장소를 조회합니다. 비공개·기밀 일정과 다른 참석자가 없는 일정은 제외합니다. 취소된 회의는 연동 대상 일정에도 취소 상태를 반영할 수 있도록 `cancelled`로 표시해 반환합니다.
6
+
7
+ 종료된 Teams 회의는 참석 보고서에서 참석자별 실제 참석 시간(초)을 조회합니다. 참석 보고서를 조회할 수 없는 회의는 실제 참석 시간 없이 반환합니다.
8
+
9
+ ## 필요한 권한
10
+
11
+ - 애플리케이션 권한 `Calendars.ReadBasic.All`과 관리자 동의가 필요합니다. Exchange 애플리케이션 접근 정책으로 조회 가능한 메일함을 직원의 메일함으로 제한합니다.
12
+ - 실제 참석 시간을 조회하려면 애플리케이션 권한 `OnlineMeetingArtifact.Read.All`, 관리자 동의, 회의 주최자에 대한 Teams 애플리케이션 접근 정책이 필요합니다. 주최자의 회의 정책에서 참석 보고서를 사용하도록 설정해야 합니다.
13
+
14
+ ## 파라미터
15
+
16
+ - `mailboxes` — 조회할 메일 주소 목록입니다. 쉼표로 구분합니다.
17
+ - `mailboxesAccessor` — 이전 단계의 결과에서 메일함 목록을 가져올 경로입니다(예: `people.employees.items`). 메일 주소 목록이나 직원 목록을 사용할 수 있습니다. 직원 목록이 `employees`의 `items` 형식(`active`, `user { email }`)이면, 재직 중이며 사용자 계정이 연결된 직원의 메일 주소를 사용합니다.
18
+ - `daysBefore` — 오늘을 기준으로 조회할 이전 일수입니다. 기본값은 14일입니다.
19
+ - `daysAfter` — 오늘을 기준으로 조회할 이후 일수입니다. 기본값은 14일입니다.
20
+
21
+ ## 결과
22
+
23
+ - `from` · `to` — 조회 기간입니다.
24
+ - `mailboxes` — 조회에 성공한 메일함 목록입니다.
25
+ - `failed` — 조회하지 못한 메일함과 실패 사유입니다. 메일함이 없거나 접근 정책에서 허용하지 않는 경우 등이 포함됩니다. 일부 메일함 조회에 실패해도 나머지 메일함은 계속 조회합니다. 요청한 메일함을 모두 조회하지 못하면 단계가 실패합니다.
26
+ - `meetings` — 회의 목록입니다. 각 항목은 다음 정보를 포함합니다.
27
+ - `mailbox`: 조회한 메일함
28
+ - `id`: 개별 회의 일정의 식별자(반복 회의도 일정별로 구분)
29
+ - `subject`, `start`, `end`, `organizer`: 제목, 시작·종료 시각, 주최자
30
+ - `attendees`: 참석자별 `email`, `name`, `response`
31
+ - `online`, `location`: Teams 온라인 회의 여부, 장소
32
+ - `response`: 메일함 소유자의 초대 응답
33
+ - `attendance`: 참석자별 `email`, 실제 참석 시간인 `seconds`. 조회할 수 없으면 `null`
34
+ - `cancelled`: 취소 여부
35
+
36
+ ## Office 일정에 반영
37
+
38
+ 다음 단계의 `local-graphql-mutate`에서 `importEvents(calendar: "Teams", source: "MSGRAPH", reading: $reading)`를 호출합니다. 변수 `reading`에 이 단계의 전체 결과(예: `meetings`)를 전달하면 사업장 일정에 반영됩니다.
39
+
40
+ 조회에 성공한 메일함과 연결된 해당 기간의 회의가 더 이상 조회 결과에 없으면, 진행 예정이거나 연기된 회의를 취소 처리합니다. 이미 진행 완료로 기록된 회의는 유지합니다. 반영된 일정은 내 업무 달력과 주간업무보고에서 사용합니다.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/integration-msgraph",
3
- "version": "10.1.257",
3
+ "version": "10.1.259",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -26,8 +26,8 @@
26
26
  "dependencies": {
27
27
  "@azure/identity": "^3.1.3",
28
28
  "@microsoft/microsoft-graph-client": "^3.0.5",
29
- "@things-factory/integration-base": "^10.1.257",
29
+ "@things-factory/integration-base": "^10.1.259",
30
30
  "cross-fetch": "^3.0.4"
31
31
  },
32
- "gitHead": "885b594299601ca4936f4f39701d6713273bbf1e"
32
+ "gitHead": "e7283779ee700b4b124226f0ad22d7c1e4063ae7"
33
33
  }
@@ -8,5 +8,9 @@
8
8
  "label.prompt": "prompt",
9
9
  "label.select": "select",
10
10
  "label.skip": "skip",
11
- "label.top": "top"
11
+ "label.top": "top",
12
+ "label.mailboxes": "mailboxes",
13
+ "label.mailboxes-accessor": "mailboxes accessor",
14
+ "label.days-before": "days before",
15
+ "label.days-after": "days after"
12
16
  }
@@ -8,5 +8,9 @@
8
8
  "label.prompt": "prompt",
9
9
  "label.select": "select",
10
10
  "label.skip": "skip",
11
- "label.top": "top"
11
+ "label.top": "top",
12
+ "label.mailboxes": "buzones",
13
+ "label.mailboxes-accessor": "ruta de buzones",
14
+ "label.days-before": "días antes",
15
+ "label.days-after": "días después"
12
16
  }
@@ -8,5 +8,9 @@
8
8
  "label.prompt": "プロンプト",
9
9
  "label.select": "select",
10
10
  "label.skip": "skip",
11
- "label.top": "top"
11
+ "label.top": "top",
12
+ "label.mailboxes": "メールボックス一覧",
13
+ "label.mailboxes-accessor": "メールボックス一覧のパス",
14
+ "label.days-before": "過去の日数",
15
+ "label.days-after": "先の日数"
12
16
  }
@@ -3,10 +3,14 @@
3
3
  "label.body": "body",
4
4
  "label.client-secret": "클라이언트 시크릿",
5
5
  "label.filter": "필터",
6
- "label.orderby": "정열",
6
+ "label.orderby": "정렬 기준",
7
7
  "label.path": "path",
8
8
  "label.prompt": "프롬프트",
9
9
  "label.select": "select",
10
10
  "label.skip": "skip",
11
- "label.top": "top"
11
+ "label.top": "top",
12
+ "label.mailboxes": "메일함 목록",
13
+ "label.mailboxes-accessor": "메일함 목록 경로",
14
+ "label.days-before": "이전 조회 일수",
15
+ "label.days-after": "이후 조회 일수"
12
16
  }
@@ -8,5 +8,9 @@
8
8
  "label.prompt": "prompt",
9
9
  "label.select": "pilih",
10
10
  "label.skip": "langkau",
11
- "label.top": "atas"
11
+ "label.top": "atas",
12
+ "label.mailboxes": "peti mel",
13
+ "label.mailboxes-accessor": "laluan peti mel",
14
+ "label.days-before": "hari sebelum",
15
+ "label.days-after": "hari selepas"
12
16
  }
@@ -8,5 +8,9 @@
8
8
  "label.prompt": "提示",
9
9
  "label.select": "select",
10
10
  "label.skip": "skip",
11
- "label.top": "top"
11
+ "label.top": "top",
12
+ "label.mailboxes": "邮箱列表",
13
+ "label.mailboxes-accessor": "邮箱列表路径",
14
+ "label.days-before": "之前天数",
15
+ "label.days-after": "之后天数"
12
16
  }