簡単にいうと、アプリケーションがSkypeと連携するには、そのWindowsメッセージの定義をあらかじめ知っていればよく、ライブラリのリンクなどは必要ない。実装上は、非常に「疎」な統合といえる。
●Skype APIでできること
Skype Technologies社では、同社のWebサイトでSkype APIのドキュメントとサンプルコードを提供している(図3)。これらをあわせて参照すれば、Skype APIはそれほど難しいものではないはずだ。
Skype APIでの操作は、Skypeの機能を扱う「ACCESS API」と、ヘッドセットなどの音声デバイスを制御する「PHONE API」の2つに大別される。ここでは、Skype APIで実現できる主な機能を(ほんの一部だが)挙げておく。
ACCESS API
PHONE API
●容易な実装はソフトウェア電話ならでは
このように、アプリケーションレイヤで動作するSkypeの長所は、ソフトウェアベンダーやSIベンダーによるプログラムが可能なAPIが用意されることだろう。これまでの電話システムとは違い、比較的少ないコストで、ほかのシステムと統合できる点は大きな魅力となるはずだ。
なお、Skype APIの利用にあたっては「Skype Developers Program」が用意されており、さまざまなサポートが受けられる。特にエントリレベルでは料金(*2)はいらないので、興味があればぜひ登録をおすすめする。
実際に、Skype Public APIを使った連携の事例として、アリエル・ネットワークのP2P型無料スケジュール共有ソフト「アリエル・マルチスケジューラ」(以下、マルチスケジューラ)(画面1)とSkypeの連携機能を紹介する。
先述したように、Skype APIにはSkypeの機能を補足するために必要なさまざまな機能連携を実現する要素が盛り込まれている。現在、マルチスケジューラで活用されているSkypeの連携機能は、「電話機能連携」「チャット機能連携」「プレゼンス機能連携」の3つである。
●電話機能連携
SkypeのWebアプリケーション連携の手段として有名なのが、callto:タグを利用した電話機能の連携だろう。SkypeをインストールしたPCにおいてcallto:タグを利用すると、Skypeが自動的に起動して、そのIDに対してSkypeを経由して電話がかけられるようになっている。
マルチスケジューラではこの機能を利用することで、予定の情報を共有するメンバーが登録している電話番号に対して、ワンクリックで電話ができる機能を提供している(当然、この機能を利用する際には、Skypeの一般電話への通話サービスであるSkypeOutが必要になる)。
この機能を使えば、緊急の予定の調整などをする際に、「予定表を確認する」→「対象のメンバーの予定状況を確認する」→「相手にすぐに電話をする」という動作をマルチスケジューラの画面内で完結して実施することができるわけだ。こうした連携機能は、Webグループウェアで有名な「desknet's」や名刺管理ソフト「やさしく名刺ファイリング」にも搭載されており、今後も連携機能をサポートするアプリケーションが増えるだろう。
●チャット機能連携
マルチスケジューラにおいて特徴的なのは、callto:の利用だけでなく、Skype APIを利用した連携機能を実装している点である。
マルチスケジューラでは、Skypeをインストールしているメンバー同士でメンバーへのコンタクトボタンを押した場合に、テキストチャットが自動的に起動するようになっている。これは、マルチスケジューラから、SkypeのAPIを通じてSkypeソフトを呼び出すことによって実現しているものだ。たとえば、Web画面上から実現するのは現状では難しいが、メールソフトなどのクライアントソフトには実装が期待できる。
*2 Skypeロゴなどの画像の利用には別途契約が必要。
Copyright(C) 2010 SOFTBANK Creative Inc. All Right Reserved.