キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
1594
閲覧回数
0
いいね!
6
返信

Webex APIによるワークスペース情報の取得方法について

tomonagam
Level 1
Level 1

Webex Control Hubにおけるワークスペースの情報をWebex APIで取得したいと考えております。
Webex APIには「Workspaces - List Workspaces | Webex for Developers」というAPIがあり、こちらで取得しようとしたところ、
ステータスコードが200応答で、レスポンスが以下のように空でした。

※上記APIのクエリパラメータは設定していません。

#######
{
"items": []
}
#######

ワークスペースに付与している以下の情報を取得する方法について教えていただけないでしょうか。
・内線番号
・外線番号
・ワークスペースの表示名称
・転送設定
・アナウンス言語
・監視設定(Call Park)
・発信者ID
・電話機種
・電話機種のMACアドレス
・電話機のライン情報
・電話機のデバイス設定

※主に使用している機種は「CISCO7861」、「ATA191」、「VG400」です。

6件の返信6

Tohru Ohzono
Cisco Employee
Cisco Employee

こんにちは。

List Workspacesを実行する場合はAPIを実行するためのアクセストークンに
"spark-admin:workspaces_read"のスコープが付与されている必要があります。
一般的にはOAuth 2.0のフローでアクセストークンを取得しますが、
この際にアプリケーション側で上記のスコープが要求される、かつ、
認証・認可の操作は管理者権限のユーザで行われる必要があります。

Webex for Developersのサイト 上でAPIを"試す"場合は、
同サイトに管理ユーザでログインする必要があります。

利用するユーザとしては、ControlHubの
[ワークスペース]メニューからワークスペースの一覧が表示できて管理できるユーザであれば、
APIでも取得できるはずです。
403エラーではないので適切なスコープは付与されたアクセストークンを利用しているのではないかと思うので、
同じユーザでControlHubの[ワークスペース]メニュから一覧表示や管理ができるかも確認いただければと思います。

また電話機の情報に関しては、"spark-admin:devices_read"などのまた別のスコープが必要となります。
(電話機を個人に紐づけている場合は"spark:devices_read"スコープを持った該当ユーザのアクセストークンでも構いません。)

アナウンスや転送、Parkなどは、Webex Callingのような気はしていますが、
こちらはまた別のスコープが必要になります。

今回の環境がどのような構成かが分からないのですが、
ワークスペースの情報取得を確認するのであれば、
まずは、Control Hubの[ワークスペース]メニュで一覧表示や管理ができるか確認後に、
同じユーザでWebex for Developersのサイト にログインして、
List Workspaces APIの[Try it] > [Run]ボタンで試してみるのが良いと思います。  
Try itのアクセストークンは12時間、またはログアウトするまでの間有効なので、
試した後はログアウトしておくのが良いと思います。

ご回答ありがとうございます。

> ワークスペースの情報取得を確認するのであれば、
> まずは、Control Hubの[ワークスペース]メニュで一覧表示や管理ができるか確認後に、
> 同じユーザでWebex for Developersのサイト にログインして、
> List Workspaces APIの[Try it] > [Run]ボタンで試してみるのが良いと思います。

こちらで実施した内容としては、上記の流れでAPI実行しております。
・Control Hubでワークスペースが表示されることを確認し、
・同じユーザでWebex for Developersのサイト にログインして、
・List Workspaces APIの[Try it] > [Run]ボタンを押下

上記を行った結果として、200応答で内容が空でした。
ControlHubのワークスペースには表示されていますが、APIでは取得できないパターンがあるのでしょうか。

情報ありがとうございます。

Control Hubで表示されているのであれば、
同じユーザ使えば開発者サイトの[Try it]でListで表示されるはずと思います。
複数の組織を管理しているアカウントであれば、Organization Idの指定が必要になるかもしれません。

List Organizations で取得できる組織は1つのみでしょうか?

また、Control Hubの[ワークスペース]メニューの[ワークスペース]一覧にある
[タイプ]は何になっていますか?
1つもリスト取得できないとのことなので、タイプが複数存在する場合は、
1、2個教えてもらうだけでもこちらで動作確認はできると思います。
タイプは関係ないとは思っていますが、タイプを合わせて動作確認してみようと思います。

ご回答ありがとうございます。
 
> List Organizations で取得できる組織は1つのみでしょうか?
はい、List Organizationsで取得できる組織は1つのみです。
 
> また、Control Hubの[ワークスペース]メニューの[ワークスペース]一覧にある
> [タイプ]は何になっていますか?
登録しているワークスペースは1つのみで、タイプは「未設定」となります。

情報ありがとうございます。

私の手持ちの環境でも動作確認を行いました。
Webex Callingの環境も準備して確認進めたところ、
[ワークスペース]の[コーリング]が"Cisco Webex Calling"になっているワークスペースが
APIで取得できない事象は再現しました。

こちらは不具合の可能性があるので、APIの開発チームに連絡しておきます。
今回投稿いただいた問題が発生している環境でも[コーリング]が"Cisco Webex Calling"となっている場合は、
同じ原因の問題である可能性が高いと思います。
もし、この状況と異なる場合は、別の原因の可能性があり、
別途調査が必要になると思いますので、その趣旨お知らせください。

なお、ControlHubのワークスペースの詳細画面のURL中のuuidを利用して
"workspaceId"が必要なWebex CallingのAPIが実行できることは確認できたのですが、
ControlHubのuuidをそのまま利用することや、自力でエンコードして利用することは推奨されませんので、
API経由で情報取得できるようにAPI開発チームと話してみます。

ワークスペースの[コーリング]が"Cisco Webex Calling"になっているという前提ですが、
API開発チームと議論を行い、
現在、List WorkspacesがWebex Calling関連のワークスペース情報を返さないのは既知の制限とのことです。
まだ具体的なリリース日程まではお伝えできる状況ではありませんが、改善するためのリクエストはすでに上がっています。

現時点でできることですが、以下のAPIで、
"ownerType"を"PLACE"に指定することで、レスポンスの"owner"の"id"が、
"workspaceId"になります。
https://developer.webex.com/docs/api/v1/webex-calling-organization-settings/get-phone-numbers-for-an-organization-with-given-criterias

この方法の場合は、ワークスペース自体の情報の取得にはなりませんが、
以下のようなWebex Calling関連のAPIで"workspaceId"が必要な場合には利用できるかと思います。
https://developer.webex.com/docs/api/v1/webex-calling-workspace-settings

お約束できる状況ではありませんが、改善版はまもなく提供される可能性もあるので、
一旦は上記方法で"workspaceId"だけ取得しておいて、
転送設定などその他の要件に関する確認や開発を進めることも検討いただければと思います。