こんにちは。
タダケン(@tadaken3)です。
Pythonでチャットワークにメッセージを送る方法をご紹介します。
本ブログでは、Google Apps Scirptでチャットワークにメッセージを送る方法を何度かご紹介していますが、Pythonでチャットワークにメッセージを送る方法も仕組みとしては同じです。
チャットワークが提供しているWEB APIに所定の方法でアクセスすることで、Pythonからチャットワークにメッセージが送れます。
Requestsモジュールをインストールする
APIにアクセスするにはRequestsモジュールを使用します。
Requestsモジュールはpipでインストールできます。
コマンドプロンプトを立ち上げて、以下のコマンドを実行するとインストールが開始されます。
pip install requests
API KeyとRoom IDをセットする
チャットワークにメッセージを送るには、メッセージ本文とは他に以下の2つの情報が必要です。
–通知を送るルームを指定するためのルームID
–チャットワークの認証するAPIのアクセストークン
チャットワークのAPIを取得する方法はこちらの記事です。
ルームIDの取得方法はこちらにまとまっています。わからない方はぜひご覧になってみてください。
チャットワークのAPIではヘッダーにAPIキー、URLにルームIDを指定します。
Pythonのコードは以下のようになります。
#coding=UTF-8 import requests BASE_URL = 'https://api.chatwork.com/v2' #Setting roomid = 'YOUR ROOM ID' #ルームIDを記載 message = 'にゃんぱすー' apikey = 'Your API KEY' #APIのKeyを記載 post_message_url = '{}/rooms/{}/messages'.format(BASE_URL, roomid) headers = { 'X-ChatWorkToken': apikey} params = { 'body': message }
formatメソッドを使って、ルームIDを付与したURLを生成しています。APIキーはディクショナリ形式でヘッダーに、メッセージ本体はパラメターとして設定します。
実際にPythonからメッセージを送ってみる
requestsモジュールでPOSTメソッドを実行するには以下のように書きます。
今回はヘッダーとパラメーターをオプションで指定します。
#coding=UTF-8 import requests BASE_URL = 'https://api.chatwork.com/v2' #Setting roomid = 'YOUR ROOM ID' #ルームIDを記載 message = 'にゃんぱすー' apikey = 'Your API KEY' #APIのKeyを記載 post_message_url = '{}/rooms/{}/messages'.format(BASE_URL, roomid) headers = { 'X-ChatWorkToken': apikey} params = { 'body': message } r = requests.post(post_message_url, headers=headers, params=params) print(r)
ステータスコードが200が返ってきていれば成功です。ステータスコードは、Webサーバからのレスポンスの意味を表しています。
まとめ
今回はRequestsモジュールを使って、チャットワークにメッセージを送る方法をご紹介しました。
RequestsはWEB APIを利用する際によく使われるモジュールなので、使い方を覚えると応用範囲が広がります。
次回もPythonに関するテクニックをご紹介していきますね。
どうぞ、お楽しみに!
日々、仕事効率化やプログラミングに関することをツイートしています。よろしければ、こちらからTwitterアカウントのフォローをお願い致します。