PHPでチャットワークAPIを簡単に導入するためのマニュアル(動画あり)

投稿日: カテゴリー: API, php

ウェブ系の仕事をしている方々のほとんどが利用しているウェブチャットツールであるチャットワーク。僕にとっては今では、メールよりも頻繁にチェックする存在である。

個人的には、アカウント切り替え機能があるとさらに最強である。チャットワーク開発者様お願いしますm(_ _)m

さて、この記事では知る人ぞ知るチャットワークに搭載されているAPIの使い方を説明していきます。

 

 

動画で全体像を

ショートカットなどの作業は画面撮影だけでは見せられないためキーボードを撮影しながら動画を撮影してみた。

 

メッセージ送信のスクリプト

file_get_contentsを使ったスクリプト

<?php $url = 'https://api.chatwork.com/v1/rooms/{ルームID}/messages'; $data = array("body" => "{送信メッセージ}");

$header = array(
    'X-ChatWorkToken: {トークン}'
);
$options = array(
	'http' => array(
	    'method' => 'POST',
	    'header' => implode("\r\n", $header),
	    'content' => http_build_query($data,'','&')
    )
);
$contents = file_get_contents($url, false, stream_context_create($options));
?>

curlを使ったスクリプト

curlの説明は省かせていただくが、GETとかPOST送信するときに便利なのでこの機会の紹介しておく。
curlはcookieファイルの操作も可能なのでログイン処理が必要なサイトのスクレイピングでも使えるので興味がある方は「php curl」とかググってみてください。
 
<?php header('Content-type: application/json; charset=utf-8'); $data = array("body" => "{送信メッセージ}");

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'https://api.chatwork.com/v1/rooms/{ルームID}/messages'); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-ChatWorkToken: {トークン}')); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($$data, '', '&')); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

$response = curl_exec($ch); 
curl_close($ch); ?> 

関数化

 
function cw_sent($msg,$roomid){ 
   $token = '{トークン}'; 
   $url = 'https://api.chatwork.com/v1/rooms/' . $roomid . '/messages'; 
   $data = array( "body" => $msg ); 
   $header = array( 'X-ChatWorkToken: ' . $token );
   $options = array(
	'http' => array(
	    'method' => 'POST',
	    'header' => implode("\r\n", $header),
	    'content' => http_build_query($data,'','&')
        )
   );
  $contents = file_get_contents($url, false, stream_context_create($options)); 
   return $contents; 
} 

 

いろんな使い方

僕が実際に使っている例の一部を挙げておく。うまく利用することで作業の効率化につながります。

CRONと絡めてチェックツールを作る

・サーバーやデータベースの状態をモニターして異常値が出たらチャットに送る

・タスクをモニターして指定の時間に終わっていなかったらチャットを送る

・gmailとの同期。指定のメアドからの未読メールを送る。

特定のフラグがたったら送信する仕組み

・管理サイトに指定のIPアドレス以外でアクセスがあった場合に送信

・会員サイトでログインIDとIPアドレスの組み合わせが違うユーザーが指定の数を超えたら

・スクレイピング時に仕様変更などで特定のデータが取得できなくなった時に

問題を事前に知らせる

僕が最も助かっているのは問題を事前に防ぐためのメッセージ送信。かなりたくさんのツールを管理しているので毎日チェックするのは大変。そもそも滅多にエラーは起こるものでもないので、だんだんとチェックが疎かになっていく。利用者からのクレームで初めて気づくのでは遅いですからね。

メール(gmail)は迷惑メールが多いなどの理由で、あんまり見なくなりましたが、チャットワークは仕事中も起動されているしスマホからの通知でも観れるのですぐに対応可能です。

 メッセージを装飾してみる

チャットワークはテキストしか送れてないと思っている方が多いかと思いますが、実はいろいろ装飾できる。

[qt] 引用符をつける

cw02

[info] メッセージをくくる

cw03

 

[hr] ボーダーライン

cw04

 

その他

他にも幾つかチャットワークAPIのドキュメントで紹介されているので参考にしてください。

 

まとめ

いかがでしたか?チャットワークAPIを導入することで、さらにチャットワークを快適に使えるイメージは持てただろうか?

 

コメントを残す