class WeiboSina::AccessToken

To change this template use File | Settings | File Templates.

Attributes

access_token[R]

获取AccessToken

client_id[R]

申请应用时分配的AppKey

client_secret[R]

申请应用时分配的AppSecret

display[R]

终端类型

redirect_uri[R]

回调地址

Public Class Methods

new(client_id,redirect_uri,client_secret=nil) click to toggle source
# File lib/weibo_sina/access_token.rb, line 20
def initialize(client_id,redirect_uri,client_secret=nil)
  @client_id = client_id
  @client_secret = client_secret
  @redirect_uri = redirect_uri
  @display = 'default'
end

Public Instance Methods

accessToken(code) click to toggle source
# File lib/weibo_sina/access_token.rb, line 43
def accessToken(code)
  accesstoken_url = "https://api.weibo.com/oauth2/access_token"
  grant_type = "authorization_code"
  uri = URI(accesstoken_url)
  if @redirect_uri
    res = Net::HTTP.post_form(uri, 'client_id' => @client_id, 'client_secret' => @client_secret,'grant_type'=>grant_type,'code'=>code,'redirect_uri'=>@redirect_uri)
    p res.body
    ret = JSON.parse(res.body)
    @access_token = ret["access_token"]
  else
    raise SyntaxError,"回调地址与authorize请求中使用的回调地址不一致! 函数:accessToken 类:AccessToken Gem:WeiBoSina Version:#{VERSION}"
  end
  @access_token
end
url_authorizeOAuth2(state=nil) click to toggle source

获取授权的页面请求地址

# File lib/weibo_sina/access_token.rb, line 28
def url_authorizeOAuth2(state=nil)
  authorize_url = 'https://api.weibo.com/oauth2/authorize'
  url = ""
  unless state
    url = authorize_url + "?client_id="+@client_id + "&redirect_uri="+@redirect_uri+"&response_type=code"
  else
    url = authorize_url + "?client_id="+@client_id + "&redirect_uri="+@redirect_uri+"&state="+ state + "&response_type=code"
  end
  if url.empty?
    raise SyntaxError,"Url的参数传递错误! 函数:authorizeOAuth2 类:AccessToken Gem:WeiBoSina Version:#{VERSION}"
  else
    return url
  end
end