コンサルティング先のお客様から「無料プランのチャットワーク投稿をエクスポートしたい」と言うご相談がありましたので、こちらに対する解決方法を以下に記述致します。
解決方法
goodbye_chatwork という Ruby 言語で書かれた コマンドを利用することで簡単に行えます。
goodbye_chatwork 利用手順
- Ruby のインストール
- goodbye_chatwork のインストール
- goodbye_chatwork の使い方
1.Ruby のインストール(Windows版)
対象は Windows マシンを想定しております。
Macをお使いの場合は Ruby はデフォルトでインストールされておりますので、この節は読み飛ばして下さい。
Windows への Ruby のインストールは以前、私が書きました以下の記事を参考にして下さい。
2.googbye_chatwork のインストール
Windows の[スタート]→[すべてのプログラム]→[アクセサリ]→[コマンドプロンプト]でコマンドプロンプトウィンドウを開き、以下のコマンドを入力します。
> gem install goodbye_chatwork
すると、以下のように Ruby のパッケージ管理システム「RubyGems」を通じて goodbye_chatwork がインストールされます。
Fetching: multipart-post-2.0.0.gem (100%) Successfully installed multipart-post-2.0.0 Fetching: faraday-0.12.0.1.gem (100%) Successfully installed faraday-0.12.0.1 Fetching: unf_ext-0.0.7.4-x64-mingw32.gem (100%) Successfully installed unf_ext-0.0.7.4-x64-mingw32 Fetching: unf-0.1.4.gem (100%) Successfully installed unf-0.1.4 Fetching: domain_name-0.5.20170404.gem (100%) Successfully installed domain_name-0.5.20170404 Fetching: http-cookie-1.0.3.gem (100%) Successfully installed http-cookie-1.0.3 Fetching: faraday-cookie_jar-0.0.6.gem (100%) Successfully installed faraday-cookie_jar-0.0.6 Fetching: goodbye_chatwork-0.0.6.gem (100%) Successfully installed goodbye_chatwork-0.0.6 invalid options: -SHN (invalid options are ignored) Parsing documentation for multipart-post-2.0.0 Installing ri documentation for multipart-post-2.0.0 Parsing documentation for faraday-0.12.0.1 Installing ri documentation for faraday-0.12.0.1 Parsing documentation for unf_ext-0.0.7.4-x64-mingw32 Installing ri documentation for unf_ext-0.0.7.4-x64-mingw32 Parsing documentation for unf-0.1.4 Installing ri documentation for unf-0.1.4 Parsing documentation for domain_name-0.5.20170404 Installing ri documentation for domain_name-0.5.20170404 Parsing documentation for http-cookie-1.0.3 Installing ri documentation for http-cookie-1.0.3 Parsing documentation for faraday-cookie_jar-0.0.6 Installing ri documentation for faraday-cookie_jar-0.0.6 Parsing documentation for goodbye_chatwork-0.0.6 Installing ri documentation for goodbye_chatwork-0.0.6 Done installing documentation for multipart-post, faraday, unf_ext, unf, domain_ name, http-cookie, faraday-cookie_jar, goodbye_chatwork after 11 seconds 8 gems installed
3.goodbye_chatwork の使い方
チャットルーム一覧(room_id, room_name)を取得するコマンドは以下の通りです。
> goodbye_chatwork -i チャットワークに登録のメールアドレス -p パスワード
>goodbye_chatwork -i hogehoge@hogehoge.com -p hogehoge 2017-04-23T16:42:41+09:00 login as hogehoge@hogehoge.com ... 2017-04-23T16:42:41+09:00 load initial data... 2017-04-23T16:42:42+09:00 load account info 52317712 mychat 53 53770634 ワードプレス 83 54513841 Rubyプログラミングの部屋 25
> goodbye_chatwork -i メールアドレス -p パスワード -x room_id
例えば、チャットルーム「マイチャット」の room_id 52317712 を利用して、hogehoge@hogehoge.com のテキストログとファイルを取得した場合、以下のような結果となります。
>goodbye_chatwork -i hogehoge@hogehoge.com -p hogehoge -x 52317712 2017-04-23T18:19:06+09:00 login as hogehoge@hogehoge.com ... 2017-04-23T18:19:06+09:00 load initial data... 2017-04-23T18:19:08+09:00 load account info 2017-04-23T18:19:12+09:00 mkdir chatwork_logs 2017-04-23T18:19:12+09:00 export logs 52317712 ... 2017-04-23T18:19:12+09:00 get old chat 0- ... 2017-04-23T18:19:14+09:00 get file info 143056045 ... ・ ・ ・ 2017-04-23T18:26:45+09:00 create chatwork_logs/52317712_mychat.csv
※ 特記事項: SSL エラー対応
C:/Ruby23-x64/lib/ruby/2.3.0/net/http.rb:933:in `connect_nonblock': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (Faraday::SSLError)
https://curl.haxx.se/docs/caextract.html
> set SSL_CERT_FILE=./cacert.pem
SSL_CERTファイルの Windows環境変数への登録方法
Windows の [スタート]→[コンピュータ]を右クリックし、プルダウンメニューの[プロパティ]をクリックします。
- 変数名: SSL_CERT_FILE
- 変数値: %HOMEPATH%\cacert.pem