ソフトウェア & サービス
Webexのメッセージ履歴をエクスポートする
ishii
会社ではチャットツール Cisco Webex を活用していましたが、先日他のアプリに移行することになりました。
それに伴い、今後ローカル環境で見返すためにもメッセージ履歴をエクスポートしようとしましたが、Webexはアプリ単体でエクスポートする機能が備わっていません。
しばらく解決方法を探していた所、英語版のコミニティからエクスポート用のPythonツールがあることが分かりました。
★Pythonツール =>Webex-Message-space-archiver
・エクスポート手順(映像あり) =>https://community.cisco.com/t5/collaboration-blogs/archive-webex-space-messages/ba-p/4404804
今回はこちらを使用してWebexのメッセージのエクスポートを行いました。
英語ドキュメントのみ、且つコマンドを使用するので、エンジニアではない人向けにエラーの対処方法を含めた手順を紹介します。
エラーは作業環境ごとに異なりますので、一例としてご参考ください。
出力形式はHTMLです。
手順紹介
1. 前述のWebex-Message-space-archiverのzipをダウンロード
2. iniファイルを生成
DLした「Webex-Message-space-archiver-master」フォルダの中に下のコマンドでiniファイルを生成します。
>cdで入っておく
$ cd Webex-Message-space-archiver-master
>iniファイルを生成
$ python3 webex-space-archive.py
エラー1
$ **ERROR** Minimum Python version is 3.9. Please visit this site to install a newer Python version: https://www.python.org/downloads/
→ https://www.python.org/downloads/ からpython”3″をDL
※Python 3.9以降を推奨$ python3 -V Python 3.6.1
バージョンの確認
エラー2
/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: No module named pip
→pipを強制的に再インストール
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py sudo python3 get-pip.py --force-reinstall
[引用]No module named pip エラー時の対応方法
エラー3
**ERROR** Missing library 'requests'. Please visit the following site to install 'requests': http://docs.python-requests.org/en/master/user/install/
→https://requests-docs-ja.readthedocs.io/en/latest/user/install/にアクセス
$ python3 -m pip install requests
今回使うpython”3″にする
以降はiniファイルに設定手順が書いてあるのでその通りに進めます。
3. mytokenを調べてiniファイルに入力する
生成した webexspacearchive-config.ini をテキストツールで開くと、4行目くらいに「mytoken」があります。
自分のトークンはciscoデベロッパーから確認できます。
※必ずサイトにログインしてください。
webexspacearchive-config.ini にトークンを入力して保存します。
※トークンはデベロッパーページにログインしてから12時間有効です。
以下を実行
$ python3 webex-space-archive.py Codemotion
↓出力結果
========================= START =========================
searching spaces for: "Codemotion"
searching spaces for: "Codemotion"
. Total number of spaces: 73
自分のWebexのスペース数が表示されたら準備完了です
4. myspaceidを調べてiniファイルに入力する
各スペースのエクスポートに必要な、webexspacearchive-config.iniの10行目にある「myspaceid」を以下の手順で調べます。
- ciscoデベロッパーの「List Rooms」にアクセス
- 右にある”max”の項目を”900″に設定
“max”の項目は、Responseに含まれるスペース(デベロッパーページでは “List Rooms”)の最大値を制限します。
デフォルト値100で、値は1以上1000以下でなければなりません。
当ツールでは900が推奨されていますが、先程のコマンドの実行結果でスペース数が100以下の場合は空欄でも問題ありません。 - 右の[Run]を押すと、スペース毎のmyspaceid(Responseの”id”が該当)が表示されるので、webexspacearchive-config.ini に書き込んで保存。
※Runが押せない時はデベロッパーページにログインしているか確認してください。
今回は”Test”というスペースを選びました。
“Test”のmyspaceidをiniファイルの10行目に入力して保存。
5. HTMLファイルにエクスポートする
$ python3 webex-space-archive.py
上を実行すると、Webex-Message-space-archiver-masterのファイル内にスペースの名前が付いた新しいHTMLファイルができます。
チャットのスペースごとにエクスポートができ、1対1チャットの場合は、相手の名前が表示されます。
HTMLをブラウザで表示
出力されたファイルについて
・年を選んででメッセージを見ることができます。
・通常は画像は全て”attached_file”と表示されますが、webexspacearchive-config.ini の18行目にある”download = no”を変更することでダウンロード可能です。
download オプション
- “no”:(デフォルト)ダウンロードなし、「fileattachment」というテキストのみを表示
- “info”:ダウンロードなし、ファイル名とサイズのみを表示
- “images”:画像のみをダウンロード
- “files”:ファイルと画像をダウンロードする
詳しくはツールのドキュメントをご覧ください。
最後に
メッセージのエクスポート方法については調べても中々出てこなく諦めかけていましたが、このツールで解決することができました。
チャットには今までのQ&Aや、どのような話の流れがあったのか思い返す手がかりとして見ることがあるので、HTMLで出力するとさらっと読めて便利です。