RubyでConnpassのAPIを叩く
はじめに
RubyでCLIアプリを作成し始めました。
ConnpassのイベントをGoogleカレンダーに登録する感じのを作ろうと思います。
便利なものになるかはわかりません。(そもそもCLIアプリな時点で)
完成形は置いといてまずはHttpsでConnpassのAPIを叩くところを作りました。
API呼び出し
APIの仕様に沿って作成しました。
すごいAPIがシンプルなので難しいところはないのですが、APIの呼び出しがHTTPSになると以外に情報がなかったので呼び出し部分を抜粋で載せておきます。
特に外部ライブラリ使わなくても標準のnet/httpでも十分って感じでした。
def self.get(params) begin validation params # パラメータのバリデーションチェック呼び出し params = URI.encode_www_form params uri = URI.parse("https://connpass.com/api/v1/event/?#{params}") response = Net::HTTP.start(uri.host, uri.port, :use_ssl => true) { |http| request = Net::HTTP::Get.new uri http.request request } JSON.parse response.body rescue ArgumentError => e e.message rescue IOError => e e.message rescue Timeout::Error => e e.message rescue JSON::ParserError => e e.message rescue => e e.message end end
パラメータのバリデーションチェックも簡単にですが実装しています。
引っかかった場合はArgumentErrorを返す感じです。
エラー処理部分は今はエラーメッセージを返す感じにしてますが、そのままエラーを呼び出しもとに投げる形に変えるかも。