Chatwork API v2を使ってRubyでメッセージを投稿する


こちらの記事を参考にしました。

https://qiita.com/tady/items/ac6de448e228a2f631db
faradayを使います。
https://rubygems.org/gems/faraday

APIのエンドポイントのドキュメント
http://developer.chatwork.com/ja/endpoint_rooms.html#POST-rooms-room_id-messages

サンプルコード

require 'faraday'

ROOM_ID = '' # target chat room id
CHATWORK_TOKEN = '' # your chatwork API token

conn = Faraday::Connection.new(url: 'https://api.chatwork.com') do |builder|
  builder.use Faraday::Request::UrlEncoded
  builder.use Faraday::Response::Logger
  builder.use Faraday::Adapter::NetHttp
end

response = conn.post do |request|
  request.url "/v2/rooms/#{ROOM_ID}/messages"
  request.headers = {
    'X-ChatWorkToken' => CHATWORK_TOKEN
  }
  request.body = {
    :body => 'hogehoge' # => ここに入れる文字が投稿される
  }
end

文字列が長すぎたりすると400エラーが返ってくるみたいです。ちょっとはまりました。
https://qiita.com/yutaro23/items/a012de576c43effcd280

以上です。