Skype for Business Online の API(UCWA)をcURLでたたくだけ

Preview:

Citation preview

Skype for Business Onlineの API(UCWA)をcURLでたたくだけ

@tong_chang

自己紹介 大道寺 寿文 (tong_chang) DMM.com ラボ ROBOTS のエンジニア ( 金髪担当 ) 経歴

Sier の孫請け零細企業に 7 年か 8 年 金融系業務アプリ開発がメイン

今の会社へ おもしろいことやりたくて、今の会社にきました (2015 年の 4 月 ) EC サイト保守から、異動で ROBOTS へ (2016 年の 4 月 )

ROBOTS といいつつ、 IoT もやってます Chork talk で弊社の一階がしゃべるそうです!見てね!

基本はポンコツです

指令

ROBOT から Skype for Business の部屋にメッセージを送ってくれ Office365 API を使ってやってくれ よろしくね

えっ

Skype Bot の実現方法 UCWA(Unified Communications Web API)

Skype for Business Online(Aure AD 向け、 office 365 API) 4 月に公開された、できたてホヤホヤの機能

Skype for Business Server( オンプレ向け ) サーバーを建てるなんて、そんなコストはかけられない

Skype bot Global な Skype 向け

今回は使いませんでした

UCWAを使う手順 Azure AD にアプリケーション登録

今回は事前に作ってあるので Autodiscover でエンドポイントを探す

繰り返し、繰り返し認証取りながら探っていく これがよくわからんかった。。

部屋に招待する 参加を確認するポーリングする メッセージを投げる

クライアントの Web アプリから、電話とかテレビ会議もできるらしい

Autodiscoverとは 世界各地に散らばっている Azure リソースのどこに、対象のエンドポイントがあるのかを認証しながら探してくれる仕組み ( 間違ってたらすみません ) 繰り返し認証を取りながら、階層をたどっていって目的の URL を取得する

Root_url ⇒ 世界共通の url User_url ⇒ ドメインが変わるので、認証する

Applications_url ⇒ ドメインが変わるので、認証する ( 最後の認証 ) Endpoint ⇒ 見つけた!!!

実際の API の URL は {applications_domain}/{Endpoint} となる

Skype Web SDK Online

Client Javascript 向けの SDK Autodiscover でのエンドポイント解決も、各 API の呼び出しも自動でやってくれる SDK です。 認証は最初の一回だけで、あとは自動で各 resource に対して認証を行ってくれる

Implicit Grant フローでの prompt=none 認証を行っている。 Azure AD アプリケーションとしては、 Web アプリケーションでしか動きません。

つまり、ロボットには使えなかった・・・

伝えたい事 ROBOT から Skype 投げられるという未来すごい

話しかけた言葉 ⇒ コグニティブサービス ⇒ Skype で伝言 Ex) 来訪者が来た事を ROBOT が受けて、 Skype に post

Web SDK(client javascript 向けの UCWA SDK) なら楽に扱える!! でも、 C# はつらい・・・

ビジネスソリューションにニーズがあるのではと思います!! 開発した Azure AD アプリに対して、テナントから認可を与えれば、他社にアプリを導入できる! Web ページに Skype のミーティング機能をつけられるので、社内システムに合体できるよ!

参考にした情報 UCWA

[Skype] UCWA (Unified Communications Web API) 開発入門 | 松崎 剛 Blog 認証フロー

Login UI が出せない Client の OAuth フロー (Azure AD) | 松崎 剛 Blog Web SDK のサンプルアプリ

Recommended