1. 本記事の概要
Webex Meetingsには、これまでXML APIやURL APIがありましたが、
よりシンプルなREST APIがリリースされました。
本記事では、新しいWebex Meetings REST APIに関して、ざっと簡単に説明します。
詳細に関しては、こちら ( https://developer.webex.com/docs/api/guides/webex-meetings-rest-api )
も参照ください。
2. Webex Meetings REST APIで出来ること
2.1. 主な機能
主には、以下のことができます。
- ミーティングの作成(予約)、変更、削除、情報取得、一覧取得
- ミーティング参加者の追加、変更、削除、情報取得、一覧取得
- ミーティングの録画の取得、一覧取得、削除
- ユーザのミーティング関連設定の取得、変更
2.2. 提供されているREST API
以下のAPIが提供されていて、それぞれにリソースパスがあります。
各項目は、APIリファレンスへのリンクにしています。
3. Webex Meetings REST API利用のためにIntegrationを登録
3.1. Integration利用者側の前提事項
Integrationを利用するユーザ側は、Cisco Webex Common Identityを利用している必要があります。
Cisco Webex Common Identityに関しては、
こちら ( https://help.webex.com/ja-jp/WBX77491/What-is-Common-Identity ) を参照ください。
3.2. Integrationの登録
Webex Meetings REST APIを利用するために、Integrationを登録します。
Integrationを利用して、OAuth 2.0のフローで、各ユーザに対応したアクセストークンを取得して、
そのトークンを使ってREST APIを呼び出します。
OAuth 2.0のフロー中に、ユーザのサインインが行われますが、
ここでサインインしたユーザの代理としてアプリがAPIを使ってミーティングを予約したりすることになります。
IntegrationをPostmanで簡単に試す方法は
こちら ( https://community.cisco.com/t5/-/-/ta-p/4100609 ) に記載されています。
Integration登録時に必要なScope(s)は以下を参照ください。
3.3. Integration登録時に必要なScope(s)
Webex Meetings REST API関連のScopeは以下になります。
※ アプリ側の機能で必要最低限のものだけ、選択するようにします。
Scope |
説明 |
meeting:schedules_read |
ミーティングの情報取得や一覧取得が必要な場合に利用。 |
meeting:schedules_write |
ミーティングの予約作成や更新、削除が必要な場合に利用。 |
meeting:recordings_read |
ミーティングの録画情報取得や一覧取得が必要な場合に利用。 |
meeting:recordings_write |
ミーティングの録画削除が必要な場合に利用。 |
meeting:preferences_read |
ユーザのミーティング関連設定情報の取得が必要な場合に利用。 |
meeting:preferences_write |
ユーザのミーティング関連設定情報の更新が必要な場合に利用。 |
4. Webex Meetings REST APIでミーティングをスケジュールする例
4.1. リクエストの例
ミーティングのスケジュールを行う場合は、
Integrationで、ユーザから、meeting:schedules_writeの機能へのアクセス許可をもらったアクセストークンを利用する必要があります。
以下のAPIリソースのパスに、HTTP POSTリクエストを投げます。
https://webexapis.com/v1/meetings
BODYは以下のようになります。
{
"title": "APIで作成したミーティング",
"agenda": "Webex Meetings REST APIに関して",
"password": "Q@zCn7*",
"start": "2020-06-11T17:30:00+09:00",
"end": "2020-06-11T18:00:00+09:00",
"timezone": "Asia/Tokyo",
"invitees": [
{
"email": "testuser@example.com",
"displayName": "参加者さん",
"coHost": false
}
]
}
4.2. レスポンスの例
成功すると以下のようなレスポンスが返ってきます(一部省略、マスクしています)。
webLinkは、ミーティング参加用のURLになります。
{
"id": "88a58..............",
"meetingNumber": "16........",
"title": "APIで作成したミーティング",
"agenda": "Webex Meetings REST APIに関して",
"password": "Q@zCn7*",
"meetingType": "meetingSeries",
"state": "active",
"timezone": "Asia/Tokyo",
"start": "2020-06-11T17:30:00+09:00",
"end": "2020-06-11T18:00:00+09:00",
(省略)
"webLink": "https://cisco.webex.com/cisco/j.php?MTID=m7c2...........",
"sipAddress": "162.......@webex.com",
(省略)
}