Python から Cisco Webex へメッセージを送信する
Python から Cisco Webex へメッセージを送信する方法をメモしておきます。 ライブラリは webexteamssdk を利用します。
Step.1¶
webex for Developers へアクセスし、ログインしておきます。 もしアカウントが無ければ Sign Up しておきます。
Step.2¶
Getting Started with the Webex API から My Webex Apps
をクリックして次へ進みます。
Step.3¶
Create a New App 画面が表示されます。 Create a Bot
をクリックして次へ進みます。
Step.4¶
新規に Bot を作成します。
今回は以下のパラメータを入力しました。
Item | Value | Description |
---|---|---|
Bot Name | Bot1 | Bot の名前 |
Bot Username | bot1 | Bot へ話しかける (メンションする) 際に利用する名前。 自動的に末尾に @webex.bot が付与される |
Icon | Default 1 | チャット上に表示するアイコン |
Description | My first bot. | Bot の用途や注意点などの説明文 |
Step.5¶
Access Token が発行されました。 文字列長は 106 文字でした。 Copy Token
をクリックして Access Token をクリップボードにコピーし、控えておきます (後の手順で利用します)。
Step.6¶
Bot からメッセージ送信の対象となるチャットルームを作成し、そこに作成済みの Bot も追加しておきます。 Bot からメッセージを送信するには Bot がユーザとして登録されている必要がありますので、忘れずユーザ追加します。
ユーザ追加されました。
Step.7¶
Bot からメッセージを送信するには対象チャットルームの Room ID が必要です。 Room ID は List Rooms API から取得出来ます。
Authorization の Use personal access token
のチェックを外し、Barer に Bot 作成時に確認した Access Token を入力したら画面右下の Run をクリックして次へ進みます。
Step.8¶
正しく実行出来れば下記のように Room ID を含んだ Response を取得出来ます。 今回は「Bot が 1 チャットルームだけに参加している」ので Room ID は 1 つしか取得出来ていませんが、仮に「Bot が複数のチャットルームに参加している」のであれば Response には「複数の Room ID」が含まれます。
Step.9¶
ここからはメッセージを送信する Python スクリプトを用意します。 まず webexteamssdk をインストールします。
1 |
|
以下のスクリプトを作成し、実行権限を付与しておきます。 ACCESS_TOKEN
と ROOM_ID
は自分の環境に応じて読み替え、適切な値を入力します。
1 2 3 4 5 6 7 8 9 10 |
|
Step.10¶
用意した Python スクリプトを実行すると、指定したチャットルームへ以下にようにメッセージが送信されます。