カテゴリー内の他の記事

Cisco Webex Teams と cybozu.com でユーザー連結を行う

フォローする

Cisco Webex TeamsからGaroonスケジュールを予約する に引き続き、Cisco Webex Teams(旧称: Cisco Spark) と Cybozu.com の連携シリーズ第2弾です。

今回紹介するのは、Cisco Webex Teams と Cybozu.com でユーザー情報を紐づけする方法です。
この技術を応用すると、たとえば以下のようなことが可能になります。

  • Cisco Webex Teams に投稿したメッセージを、 作成者を投稿者のユーザーで kintone にレコードを登録する
  • Cisco Webex Teams に自分自身の Garoon のスケジュールを表示する

システム概念図

Cisco Webex TeamsからGaroonスケジュールを予約する と同様に、今回も AWS Lambda を利用して連携します。
Cisco Webex Teams では 会議室に投稿したユーザーの情報を取得して、Cisco Webex Teams と Cybozu.com 双方で、ユーザー情報を紐づけることができます。

たとえば、Cisco Webex Teams と Cybozu.com 双方でユーザーのメールアドレスを同一にした場合、メッセージの投稿時にメールアドレスをキーにしてユーザーを検索することが可能です。

2018-05-11_18h17_13.png

事前準備(メールアドレスをキーにする場合)

Cisco Webex Teams

  • 会議室にメッセージを投稿するためのユーザーを用意してください(★)
  • Cisco Webex Teams 上に結果を表示するための bot 用のアカウントを 1つ用意してください
  • 専用の会議室を 1つ用意してください
  • Cisco Webex Teams の API 情報はこちらのページです

Cybozu.com

  • (★) と同じメールアドレスを持つユーザーを用意してください
  • 上記とは別に API 実行用のユーザーを 1つ用意してください
    ※ API 実行用のユーザーは Cybozu.com のシステム管理権限が必要です

 Node.js の JavaScript ファイル

  • 後述の index.js の内容をコピーして配置してください
  • request-promise を使用していますので、必要に応じてnpm install でインストールして下さい

環境を作成する

アップロード用Zipファイルの作成

index.js を開いて、以下の項目を記入して保存します。

項目 設定値
ROOMID

Cisco Webex Teams の会議室のID
https://developer.webex.com/endpoint-rooms-get.html
で該当する会議室のID を確認することができます
※Test Mode を On にして(ログインする必要あり) Run をクリックすると、
 会議室の情報が Response に表示されます。
 Response の中から、該当する会議室の ID を取得してください。

BEARER Cisco Webex Teams の bot アカウントの Access Token
https://developer.webex.com/
でログイン後に右上のユーザーのアイコンをクリックすると表示されます

【補足】
OAuth 2.0を利用した認証も可能です。複数のアカウントに関連する操作を行いたい場合や、
APIへのアクセス権を制限したい場合などには、OAuth 2.0を利用する必要があります。
詳細は、
https://developer.webex.com/authentication.html
を参照ください。
CYBOZU_AUTH Cybozu.com の API実行用のユーザーのログイン名とパスワードです
「ログイン名:パスワード」をBASE64エンコードしたものを入力してください。
DOMAIN kintone のドメイン
SPARK_MADDRESS Cisco Webex Teams の bot アカウントのメールアドレス

入力したら、以下のコマンドで zip ファイルを作成します。
zip ファイルの名前は、今回は getPostingUser.zip とします。

zip -r getPostingUser.zip index.js node_modules/

AWS の設定(Lambda,  API Gateway)

AWS Lambda API Gateway を設定します。
詳細については Cisco Webex Teams からGaroonスケジュールを予約する 
「AWS の設定(Lambda,  API Gateway)」を参考にしてください。

確認する

Cisco Webex Teams の会議室から実際に確認してみましょう。
【※注意】 bot アカウントで確認した場合は、プログラムは作動しません。

Cisco Webex Teams から「こんにちは」と入力します。

数秒待つと bot が投稿内容、e-mail、Cybozu.com のログイン名、表示名を返します。
たしかに、Cisco Webex Teams と Cybozu.com でユーザー連携が行われていることがわかります。

 

応用編

今回は、メールアドレスでユーザーを連結しましたが、Cisco Webex Teams の Display Name と
Cybozu.com のログイン名で連結させることも可能です。

 

JavaScript 

index.js

【※注】
本記事は 2016年 6月の段階の Cisco Webex Teams のバージョンで記事を作成しています。

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

ログインしてコメントを残してください。