require "rubygems"
require 'net/http'
require 'cgi'
require 'digest/md5'
require 'json/ext'
require 'httparty'
require "active_support/core_ext"
@app_id = '2157608'
email = 'truschev@gmail.com'
password = 'xxx'
app_rights = 16383
# Залогинивание и получение куки
resp = Net::HTTP.post_form(URI.parse('http://vkontakte.ru/login.php'),
{'m' => '1', 'email' => email, 'pass' => password})
cookies = resp.response['set-cookie']
remixsid = cookies.split('remixsid=')[1].split(';')[0].split(',')[0]
header = { "Cookie" => 'remixsid=' + remixsid }
conn = Net::HTTP.new('vkontakte.ru', 80)
# Парсим форму авторизации приложения
resp = conn.get('http://vkontakte.ru/login.php?app=' + @app_id +
'&layout=popup&type=browser&settings=32767', header)
auth_hash = resp.body.split('var auth_hash = \'')[1].split('\';')[0]
# Авторизизуем приложение
resp = conn.get('http://vkontakte.ru/login.php?act=a_auth&app=' + @app_id +
'&hash=' + auth_hash + '&permanent=1', header)
auth_json = resp.body
p auth_json
auth = JSON.parse(auth_json)
APP_ID = "2157608"
private_key = "cad2kydg0I"
url = URI.parse("http://api.vkontakte.ru")
http = Net::HTTP.new(url.host, url.port)
p auth
sig = Digest::MD5.hexdigest(auth["mid"].to_s + "api_id=#{APP_ID}format=JSONmethod=isAppUserv=3.0" + auth["secret"])
resp, body = http.get("http://api.vkontakte.ru/api.php?api_id=#{APP_ID}&format=JSON&method=isAppUser&sid=#{auth["sid"]}&sig=#{sig}&v=3.0")
p JSON.parse(body)