Parse を使ってなんかゲームやらなんやらを作りたいなあと思っている。 とりあえずなんらかのプログラミング言語で Parse にあるデータを更新したり取得したりしたいなあと思ったのだった。 Parse には iOS や Android 向けの SDK だけでなく REST の API が用意されているのでこれを使ってみることにした。

faraday を使えるようにする

faraday は HTTP クライアントライブラリである。 まず Gemfile を書く。bundler を使ったことがなかったので調べながらすすめた。

source "http://rubygems.org"
    gem "faraday"

Gemfile を書いたら以下のコマンドで faraday をインストールする

bundle install --path vendor/bundle

Parse の REST API を叩く

Parse の REST API の ドキュメント を見て実際に叩いてみる。 以下のようなコードを書いた

自分の環境 (ruby 1.9.3p194 / MacOSX 10.8 Mountain Lion / rbenv) で実行してみると以下のような https 関連のエラーが出てしまった。

Faraday::Error::ConnectionFailed: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B:
    certificate verify failed

証明書のダウンロード

Mountain Lion+rubyでopensslエラー の記事を参考に、証明書をダウンロードして /usr/local/etc/openssl 下に cert.pem という名前で置いた。 すると以下のような結果が得られた。うまくいったようだ。

{"results":[{"title":"Hello
    World","createdAt":"2012-08-26T06:19:14.205Z","updatedAt":"2012-08-26T06:19:14.205Z","objectId":"xxxxxxxxxx"}]}