チャットワークのAPIを使ってみる
最近仕事でチャットワークを使うようになりました。
ちょうどいい機会なのでチャットワークのAPIを使ってみることにしました。
API利用申請
現在はAPIがプレビュー版とのことで利用申請が必須なようです。将来的に利用申請なしになるかは不明・・・
まずはチャットワークのAPIを使用するには現在API使用申請を行わなければいけません。
下記のリンクから使用申請が行えます。
チャットワークAPIリンク
中段にある【こちらのリンクよりAPIの利用申請をおこなってください。】のリンクをクリックしてください。
参考にAPIの利用申請を行うと私の場合は1日ほどで利用開始出来る旨がメールで届きました。
この辺りは営業日等に左右されるかと思います。
APIトークンの発行
API使用許可が降りたら、次はAPIを使用するためのAPIトークンを発行しなければなりません。下記を参考にしてください。
APIトークンの発行
【動作設定->API発行タブ】がなかった場合は画面を一度更新し直せば出てくるかと思います。
APIを使う
APIの基本仕様は下記を参照してください。チャットワークAPI仕様
各エンドポイント毎にアクセス方法やcurlを使用した方法、レスポンスが載っているので参考にしてください。
エンドポイント: /me
PHPサンプル
使用される際はAPIキーやルームIDはご自分のものを使用してください。ルームIDはURLの「https://www.chatwork.com/#!rid99999999」rid以降の数字のことです。
localhostで使用する際にcURLのオプションCURLOPT_SSL_VERIFYPEER をfalseにしないと証明書がないとアクセス出来ないのでオプションに指定しています。
接続できるならオプションに指定しなくても大丈夫です。
GET
自分自身の情報を取得<?php header("Content-type: text/html; charset=utf-8"); $url = "https://api.chatwork.com/v1/me"; // API URL $api_key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // APIキー // cURLオプション設定 $options = array( CURLOPT_URL => $url, // URL CURLOPT_HTTPHEADER => array('X-ChatWorkToken: '. $api_key), // APIキー CURLOPT_RETURNTRANSFER => true, // 文字列で返却 CURLOPT_SSL_VERIFYPEER => false, // 証明書の検証をしない ); $ch = curl_init(); curl_setopt_array($ch, $options); $response = curl_exec($ch); curl_close($ch); $result = json_decode($response); // 結果出力 echo "<pre>"; var_dump($result);
POST
チャットに新しいメッセージを追加<?php header("Content-type: text/html; charset=utf-8"); $room_id = 99999999; // ルームID $url = "https://api.chatwork.com/v1/rooms/{$room_id}/messages"; // API URL $api_key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // APIキー // 送信パラメーター $params = array( 'body' => 'PHP API Test' // メッセージ内容 ); // cURLオプション設定 $options = array( CURLOPT_URL => $url, // URL CURLOPT_HTTPHEADER => array('X-ChatWorkToken: '. $api_key), // APIキー CURLOPT_RETURNTRANSFER => true, // 文字列で返却 CURLOPT_SSL_VERIFYPEER => false, // 証明書の検証をしない CURLOPT_POST => true, // POST設定 CURLOPT_POSTFIELDS => http_build_query($params, '', '&'), // POST内容 ); $ch = curl_init(); curl_setopt_array($ch, $options); $response = curl_exec($ch); curl_close($ch); $result = json_decode($response); // 結果出力 echo "<pre>"; var_dump($result);
PUT
チャットの名前、アイコンをアップデート<?php header("Content-type: text/html; charset=utf-8"); $room_id = 99999999; // ルームID $url = "https://api.chatwork.com/v1/rooms/{$room_id}"; // API URL $api_key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // APIキー // 送信パラメーター $option = array( 'name' => 'PHP API Test Room', // 部屋名 'description' => 'PHP API Test', // 概要 'icon_preset' => 'check' // アイコン ); // cURLオプション設定 $options = array( CURLOPT_URL => $url, // URL CURLOPT_HTTPHEADER => array('X-ChatWorkToken: '. $api_key), // APIキー CURLOPT_RETURNTRANSFER => true, // 文字列で返却 CURLOPT_SSL_VERIFYPEER => false, // 証明書の検証をしない CURLOPT_CUSTOMREQUEST => 'PUT', // リクエスト CURLOPT_POSTFIELDS => http_build_query($option, '', '&'), // PUT内容 ); $ch = curl_init(); curl_setopt_array($ch, $options); $response = curl_exec($ch); curl_close($ch); $result = json_decode($response); // 結果出力 echo "<pre>"; var_dump($result);
DELETE
グループチャットを退席/削除する<?php header("Content-type: text/html; charset=utf-8"); $room_id = 99999999; // ルームID $url = "https://api.chatwork.com/v1/rooms/{$room_id}"; // API URL $api_key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // APIキー // 送信パラメーター $option = array('action_type' => 'leave'); // cURLオプション設定 $options = array( CURLOPT_URL => $url, // URL CURLOPT_HTTPHEADER => array('X-ChatWorkToken: '. $api_key), // APIキー CURLOPT_RETURNTRANSFER => true, // 文字列で返却 CURLOPT_SSL_VERIFYPEER => false, // 証明書の検証をしない CURLOPT_CUSTOMREQUEST => 'DELETE', // リクエスト CURLOPT_POSTFIELDS => http_build_query($option, '', '&'), // DELETE内容 ); $ch = curl_init(); curl_setopt_array($ch, $options); $response = curl_exec($ch); curl_close($ch); $result = json_decode($response); // 結果出力 echo "<pre>"; var_dump($result);
一応全種類には対応しました。
このAPI使って他のツール等とも連携を行ってみようと考えています。
«前の記事:【VBS】IEを操る方法PHP型の比較表:次の記事»