この機能により、Board、Room、または Desk デバイスから任意の HTTP(S) リクエストを HTTP(S) サーバーに送信できます。 さらに、デバイスはサーバーが返送する応答を受け取ります。 デバイスは Post、Put、Patch、Get、および Delete の方法をサポートしています。
マクロを使用することで、いつでも HTTP(S) サーバーにデータを送信できます。 どのデータを送信し、必要に合った構成を行うのかを選択できます。 この方法でデータを既存のサービスに適応することができます。
セキュリティ対策:
HTTP(S) クライアント要求機能はデフォルトで無効になっています。 システム管理者が明示的にこの機能を有効
します(xConfiguration HttpClient Mode: On
)。システム管理者は、httpClient 設定で HTTP を False に許可> HTTP
xConfiguration HttpClient AllowHTTP: False
)。システム管理者は、デバイスがデータの送信を許可する HTTP(S) サーバーのリストを指定できます。(参照:
xCommand HttpClient Allow Hostname
コマンド。)同時 HTTP(S) リクエストの数は制限されています。
この記事で参照されている設定は、デバイスのウェブ インターフェイスと API の両方から利用できます。 コマンドは API で使用できます。 ウェブ インターフェイス へのアクセス方法と API の使用方法に関する詳細は、詳細設定の記事をお読みください。
許可された HTTP(S) サーバーのリスト
システム管理者は、これらのコマンドを使用して最大 10 個の HTTP (S) サーバー (主催者) の設定および管理を行います。
xCommand HttpClient Allow Hostname Add Expression: <Regular expression that matches the host name or IP address of the HTTP(S) server>
xCommand HttpClient Allow Hostname Clear
xCommand HttpClient Allow Hostname List
xCommand HttpClient Allow Hostname Remove Id: <id of an entry in the list>
リストが空ではない場合、HTTP(S) リクエストをリスト内のサーバーにのみ送信できます。 リストが空の場合は、任意の HTTP(S) サーバーに要求を送信できます。
安全ではない (HTTP) およびセキュアな (HTTPS) のデータ転送の両方を使用する場合、許可されているサーバーのリストに対するチェックが実行されます。
証明書の検証なしの HTTPS
HTTPS 経由でリクエストを送信する場合、デバイスはデフォルトで HTTPS サーバーの証明書をチェックします。 HTTPS サーバー証明書が有効でないと見つからない場合は、エラーメッセージが表示されます。 デバイスはサーバーにデータを送信しません。
証明書の検証には HTTPS を使用することをお勧めします。 証明書の検証ができない場合、システム
xConfiguration HttpClient AllowInsecureHTTPS: On
)。 これにより、サーバーの証明書を確認することなく HTTPS を使用できます。
HTTP(S) リクエストを送信する
HTTP(S) クライアント要求機能が有効になると、次のコマンドを使用して、HTTP サーバーに要求を送信できます。
<method>
は、どちらかです
Post
、
Put
、
Patch
、
Get
、または
Delete
.
xCommand HttpClient <Method> [AllowInsecureHTTPS: <True/False>] [Header: <Header text>] [ResponseSizeLimit: <Maximum response size>] [ResultBody: <None/PlainText/Base64>] [Timeout: <Timeout period>] Url: <URL to send the request to>
ヘッダーフィールドの追加はオプションですが、最大 20 件のフィールドを追加できます。
この
AllowInsecureHTTPS
パラメータは、サーバーの証明書を確認せずに、システム管理者が HTTPS の使用を許可している場合にのみ、効果があります。 この場合、パラメータが次に設定されている場合は、サーバー証明書を検証することなくサーバーにデータを送信できます。
True
. パラメータを外す場合、あるいは次に設定します。
False
、証明書の検証が失敗した場合、データは送信されません。
この
ResposenSizeLimit
パラメータは、デバイスがサーバーからの応答として受け入れる最大ペイロード サイズ (バイト) です。 応答ペイロードがこの最大サイズより大きい場合、コマンドはステータス エラーを返します。 エラーメッセージには最大ファイルサイズを超えたと表示されます。 しかし、これはサーバー側には影響しません。サーバーが要求を適切に受け取り、処理している必要があります。
イベント、登録者、出席者にすばやくアクセスするため、
ResultBody
パラメータを選択して、コマンド結果のサーバーから HTTP 応答の本文をフォーマットする方法を決定します。 以下の 3 つのオプションを選択できます。
None
: コマンド結果に HTTP 応答の本文を含め設定してください。Base64
: Base64 は結果に含む前に本文をエンコードします。PlainText
: 結果の本文をプレーンテキストとして含める。 応答に非一文が含まれる場合、コマンドは、非一日データが見つかったというメッセージを含むステータスエラーを返します。
イベント、登録者、出席者にすばやくアクセスするため、
Timeout
パラメータを使用してタイムアウト期間を設定します (秒)。 この期間にリクエストが完了しない場合、API はエラーを返します。
コマンドを発行した直後にペイロード (データ) を入力します。 改行を含めて入力した何ものは、ペイロードの一部です。 完了したら、休憩("\n")と、期間を含む別の回線で終了し、その後に休憩(".\n")を入力します。 コマンドが実行され、データがサーバーに送信されます。
例
メッセージの本文は、これらの両方の例の JSON です。 メッセージを受信するサービスの期待される形式に応じて、任意の形式である場合があります。
例 1: HTTP Post を使用した IoT デバイス コントロール
以下は、明るい色の色を変えるマクロ機能です。
function hue_command(data) { var url = 'http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state'; var headers = 'Content-Type: application/json'; var command = '{"on":true}'; xapi.command('HttpClient Put', { 'Url': url, 'Header': headers }, command); }
API を使用してコマンドラインで同じことを行います。
xcommand HttpClient Put Header: "Content-Type: application/json" URL: "http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"on":true} .
例 2: HTTP Post を使用してデータを監視ツールに投稿する
xcommand HttpClient Post Header: "Content-Type: application/json" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Message":"A user reported an issue with this system","systemName":"BoardRoom 4th floor","softwareVersion":"ce9.6.0","softwareReleaseDate":"2018-12-13","videoMonitors":"Dual"} .
詳細情報
HTTP クライアント要求の使い方の詳細については、カスタマイズガイドを 参照してください 。 最新バージョンを選択します。
Cisco サポート (TAC) は、マクロを含むサードパーティ コードのデバッグはサポートされていません。 マクロおよびサードパーティ コードのヘルプが必要な場合は、Cisco Collaboration Developer コミュニティを確認してください。 また、このサイトには多くの開発者および統合リソースがあります。