Google+ APIを試してみた

Google+には無関心の態を装いながらも、実は内心興味津々で、「誰か招待してくれないかなー」などと思いながら毎日を過ごしていましたが、最近になってようやく招待してもらうことができ、Google+を使いはじめることができました。

そんなわけで、早速最近公開されたばかりのGoogle+ APIを試してみました。

Google+ APIの認証方式には、APIキーによる認証方式とOAuth 2.0による認証方式の2種類があります。
今回は、OAuth 2.0について調べるのが面倒くさいのでAPIキーによる認証方式を試してみました。まだAPIキーを持っていない人は、この辺りを参考にしてAPIキーを取得してください。

言語はRubyです。
専用のライブラリもあるみたいですが、使い方がわからないので華麗にスルー(笑)。
どうせHTTPSでリクエストを送るだけなので、net/httpsを使って実装しました。

下記がソースコードです。

get_profile.rb

#!/usr/bin/ruby 
require 'net/https'

USER_ID = '102346903570321430420'
API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'    #  取得したAPIキー

uri = URI.parse("https://www.googleapis.com/plus/v1/people/#{USER_ID}?key=#{API_KEY}")

https = Net::HTTP.new(uri.host, 443)
https.use_ssl = true
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
response = https.start do |https|
  request = Net::HTTP::Get.new(uri.path << '?' << uri.query)
  https.request(request)
end

puts response.body

USER_IDで指定したユーザのプロフィールを取得します。

実行してみます。

$ ruby get_profile.rb 
{
 "kind": "plus#person",
 "id": "102346903570321430420",
 "displayName": "Yuta NAGAMIYA",
 "gender": "male",
 "aboutMe": "Ruby好きのプログラマです。",
 "url": "https://plus.google.com/102346903570321430420",
 "image": {
  "url": "https://lh3.googleusercontent.com/-GijUqtWTz08/AAAAAAAAAAI/AAAAAAAAACY/A-cPZmjZRUQ/photo.jpg"
 },
 "urls": [
  {
   "value": "http://twitter.com/ngmy"
  },
  {
   "value": "https://plus.google.com/102346903570321430420",
   "type": "profile"
  },
  {
   "value": "https://www.googleapis.com/plus/v1/people/102346903570321430420",
   "type": "json"
  }
 ],
 "placesLived": [
  {
   "value": "群馬県前橋市"
  },
  {
   "value": "神奈川県横浜市",
   "primary": true
  }
 ]
}

プロフィールを取得できました。簡単!

次回はOAuth 2.0を使った方法を試してみたいと思います。