class Qq

QQ Connect

Attributes

openid[R]

Public Class Methods

new(code) click to toggle source

get APP_ID & APP_KEY from connect.qq.com/

# File lib/qq.rb, line 8
def initialize(code)
  # WARNING! return raise 'CSRF detected' if params[:state] != state
  # get token
  url = "#{QQ::TOKEN_URL}&code=#{code}"
  @token = open(url).read[/(?<=access_token=)\w{32}/]
  # get openid
  url = QQ::OPENID_URL + @token
  @openid = open(url).read[/\w{32}/]
  # get auth
  @auth = "access_token=#{@token}&" \
          "oauth_consumer_key=#{QQ::APP_ID}&" \
          "openid=#{@openid}"
end

Public Instance Methods

get_user_info() click to toggle source
# File lib/qq.rb, line 22
def get_user_info
  back = open(QQ::G_U_I_URL + @auth).read.force_encoding('utf-8')
  back = JSON.parse(back)
  return raise back['ret'].to_s + ': ' + back['msg'] if back['ret'] != 0
  back
end