RubyでChatWork API

ChatWork APIを使ってみた

 

 

こちらのサイトを参照してRuby用のサブルーチンを作った。

http://nmbr8.com/blog/2014/05/06/how-to-post-a-message-to-chatwork/

環境はロリポップのRuby1.9.3

 

 

APIを使うのにトークンが必要なのでまずはAPIの利用申請

下のリンクから申し込み。

https://www.chatwork.com/service/packages/chatwork/subpackages/api/apply_beta_business.php

返信は割と早くて1/3に申し込んだのに1/4に帰ってきた。

 

利用できるようになったら

ChatWorkの動作設定(プロフィールの下)の中にAPI発行という項目が追加される。

そこからトークンを取得。

 

ブラウザで投稿したい先のルームを開いた状態でURLを確認。

URLの最後の数字コードがルームID。

https://www.chatwork.com/#!rid(ここに書いてある数字)

 

これで準備完了。

後は下のコードにトークンとルームIDを記入してサブルーチンとして保存。

投稿したいコメントを入れてサブルーチンを呼び出すと投稿される。

 

# coding: utf-8

def CW_API(chat_message)

require ‘net/https’
require ‘uri’
require ‘json’

room_id = ‘投稿したいルームID’
chatwork_api_token = ‘取得したトークン’

# チャットワークAPIのエンドポイントへはhttps接続必須
uri = URI.parse “https://api.chatwork.com/v1/rooms/#{room_id}/messages”

# リクエストインスタンスを生成
# APIトークンはHTTPリクエストヘッダに X-ChatWorkToken というキーでセットする
request = Net::HTTP::Post.new(uri.request_uri, initheader = {‘X-ChatWorkToken’ => chatwork_api_token})
# POSTするメッセージをセット(“body”パラメータにメッセージ本文をセットする)
query_hash = {“body” => chat_message}
request.set_form_data(query_hash)

# メッセージをPOST
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == ‘https’) do |http|
http.request(request)
end

return “”

end

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Protection by WP-SpamFree