Rianshin

[MSteams]연동 - createEvent(일정생성, 화상회의) 본문

Develop/Front-End

[MSteams]연동 - createEvent(일정생성, 화상회의)

RianShin 2023. 1. 13. 11:30
728x90
반응형
SMALL

MsTeams 연동하여 일정을 생성하는 예제는 다음과 같다.

const options = {
	authProvider,
};

const client = Client.init(options);

const event = {
  subject: 'Let\'s go for lunch', //생성할 일정 타이틀
  body: {
    contentType: 'HTML',
    content: 'Does noon work for you?'
  },
  start: { // 시작시간
      dateTime: '2017-04-15T12:00:00',
      timeZone: 'Pacific Standard Time' // 한국시간으로 할때 : Korea Standard Time
  },
  end: { //종료시간
      dateTime: '2017-04-15T14:00:00',
      timeZone: 'Pacific Standard Time' // 한국시간으로 할때 : Korea Standard Time
  },
  location: {
      displayName: 'Harry\'s Bar'
  },
  attendees: [ // 참석자
    {
      emailAddress: {
        address: 'samanthab@contoso.onmicrosoft.com', // 참석자 이메일주소
        name: 'Samantha Booth' //참석자 이름
      },
      type: 'required'
    }
  ],
  allowNewTimeProposals: true,
  isOnlineMeeting = true; // 화상회의 및 온라인미팅 할때요청값
  onlineMeetingProvider = "teamsForBusiness"; // 온라인 미팅 기본값
};

await client.api('/me/events')
	.post(event);

정상적으로 처리가되면 다음과 같은 형태의 response가 넘어오게된다.

{
  "@odata.context": "",
  "@odata.etag": "",
  "id": "beGiaPqCzUuI+y9tdNro", // 일정의 id값
  "createdDateTime": "2023-01-17T00:45:28.025293Z",
  "lastModifiedDateTime": "2023-01-17T00:45:30.5898174Z",
  "changeKey": "uQAA/Pc/LQ==", // 일정변경시 필요한 changeKey
  "categories": [
    
  ],
  "transactionId": null,
  "originalStartTimeZone": "Korea Standard Time",
  "originalEndTimeZone": "Korea Standard Time",
  "iCalUId": "0400000",
  "reminderMinutesBeforeStart": 15,
  "isReminderOn": true,
  "hasAttachments": false,
  "subject": "5cc",
  "bodyPreview": "158\r\n______",
  "importance": "normal",
  "sensitivity": "normal",
  "isAllDay": false,
  "isCancelled": false,
  "isOrganizer": true,
  "responseRequested": true,
  "seriesMasterId": null,
  "showAs": "busy",
  "type": "singleInstance",
  "webLink": "",
  "onlineMeetingUrl": "",
  "isOnlineMeeting": true,
  "onlineMeetingProvider": "teamsForBusiness",
  "allowNewTimeProposals": true,
  "occurrenceId": null,
  "isDraft": false,
  "hideAttendees": false,
  "responseStatus": {
    "response": "organizer",
    "time": "0001-01-01T00:00:00Z"
  },
  "body": {
    "contentType": "html",
    "content": ""
  },
  "start": {
    "dateTime": "2023-01-17T09:45:00.0000000",
    "timeZone": "Korea Standard Time"
  },
  "end": {
    "dateTime": "2023-01-17T10:45:00.0000000",
    "timeZone": "Korea Standard Time"
  },
  "location": {
    "displayName": "",
    "locationType": "default",
    "uniqueIdType": "unknown",
    "address": {
      
    },
    "coordinates": {
      
    }
  },
  "locations": [
    
  ],
  "recurrence": null,
  "attendees": [
    {
      "type": "required",
      "status": {
        "response": "none",
        "time": "0001-01-01T00:00:00Z"
      },
      "emailAddress": {
        "name": "-",
        "address": "-"
      }
    },
    {
      "type": "required",
      "status": {
        "response": "none",
        "time": "0001-01-01T00:00:00Z"
      },
      "emailAddress": {
        "name": "",
        "address": ""
      }
    }
  ],
  "organizer": {
    "emailAddress": {
      "name": "u",
      "address": ""
    }
  },
  "onlineMeeting": {
    "joinUrl": "" //온라인회의 url
  }
}

이렇게 넘겨받은 온라인회의 url을 클릭하면 

msteams앱 또는 브라우저여서 연결이 가능하다

이는 모바일이건 PC에서건 가능하다.

728x90
반응형
LIST
Comments