Cisco Spark と cybozu でユーザー連結を行う

フォローする

Cisco SparkからGaroonスケジュールを予約する に引き続きCisco Spark と Cybozu の連携シリーズ第2弾です。

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

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

システム概念図

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

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

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

Cisco Spark

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

Cybozu

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

 Node.js の JavaScript ファイル

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

環境を作成する

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

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

項目 設定値
ROOMID

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

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

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

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

zip -r getPostingUser.zip index.js node_modules/

AWS の設定(Lambda,  API Gateway)

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

確認する

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

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

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

 

応用編

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

 

JavaScript 

index.js

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

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

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

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