HTTPSを使ってGoogle AuthSubを利用する 23:15
Net::HTTPを使うので、twitter API使った時とあまり代わり映えしないけど、メモ。
Google AuthSubを利用してみる。とりあえずSIDなどを取得。
クライアントアプリからの利用法。
require 'net/https' require 'uri' GAUTH_URI = 'https://www.google.com/accounts/ClientLogin' Email = '******' Pass = '******' url = URI.parse(GAUTH_URI) Net::HTTP.version_1_2 https = Net::HTTP.new(url.host, url.port) https.use_ssl = true if url.scheme == "https" https.ca_file = 'base64.cer' https.verify_mode = OpenSSL::SSL::VERIFY_PEER https.verify_depth = 5 req = Net::HTTP::Post.new(url.path) req.form_data = { "accountType" => 'HOSTED_OR_GOOGLE', "service" => 'xapi', "Email" => Email, "Passwd" => Pass, "source" => 'testApp', "Content-type" => 'application/x-www-form-urlencoded' } res = https.start {|h| h.request(req) } puts res
https.ca_fileで証明書ファイルを使用しているけど、なくてもなぜか取得できた。
証明書の取得方法は下記の参考サイトをご覧ください。
参考サイト:
Authentication for Installed Applications - Account Authentication API - Google Code
http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html
rubyでssl通信 - 茶国 Rev3
http://d.hatena.ne.jp/chakoku/20070609/1181322149
[Ruby]HTTPSでサーバーに接続 - うなの日記
http://d.hatena.ne.jp/unageanu/20070504