module Wework::Api::Methods::Agent

Public Instance Methods

authorize_url(redirect_uri, scope="snsapi_base", state="wxwork") click to toggle source
# File lib/wework/api/methods/agent.rb, line 12
def authorize_url(redirect_uri, scope="snsapi_base", state="wxwork")
  # user agent: UA is mozilla/5.0 (iphone; cpu iphone os 10_2 like mac os x) applewebkit/602.3.12 (khtml, like gecko) mobile/14c92 wxwork/1.3.2 micromessenger/6.2
  uri = ERB::Util.url_encode(redirect_uri)
  "#{AUTHORIZE_ENDPOINT}?appid=#{corp_id}&redirect_uri=#{uri}&response_type=code&scope=#{scope}&agentid=#{agent_id}&state=#{state}#wechat_redirect"
end
get_agent() click to toggle source
# File lib/wework/api/methods/agent.rb, line 44
def get_agent
  get 'agent/get', params: {agentid: agent_id}
end
get_jssign_package(url) click to toggle source
# File lib/wework/api/methods/agent.rb, line 26
def get_jssign_package url
  timestamp = Time.now.to_i
  noncestr = SecureRandom.hex(8)
  str = "jsapi_ticket=#{jsapi_ticket}&noncestr=#{noncestr}&timestamp=#{timestamp}&url=#{url}"
  {
    "appId"     => corp_id,
    "nonceStr"  => noncestr,
    "timestamp" => timestamp,
    "url"       => url,
    "signature" => Digest::SHA1.hexdigest(str),
    "rawString" => str
  }
end
get_oauth_userinfo(code) click to toggle source
# File lib/wework/api/methods/agent.rb, line 18
def get_oauth_userinfo code
  get 'user/getuserinfo', params: {code: code}
end
get_session_with_jscode(js_code, grant_type='authorization_code') click to toggle source
# File lib/wework/api/methods/agent.rb, line 40
def get_session_with_jscode(js_code, grant_type='authorization_code')
  post 'miniprogram/jscode2session', {}, params: {js_code: js_code, grant_type: grant_type}
end
get_user_detail(user_ticket) click to toggle source
# File lib/wework/api/methods/agent.rb, line 22
def get_user_detail user_ticket
  post 'user/getuserdetail', {user_ticket: user_ticket}
end
set_agent(data={}) click to toggle source
# File lib/wework/api/methods/agent.rb, line 48
def set_agent data={}
  post 'agent/set', data.merge(agentid: agent_id)
end
sso_authorize_url(redirect_uri, state='qrconnect') click to toggle source
# File lib/wework/api/methods/agent.rb, line 7
def sso_authorize_url(redirect_uri, state='qrconnect')
  uri = ERB::Util.url_encode(redirect_uri)
  "#{AGENT_SSO_AUTHORIZE_ENDPOINT}?appid=#{corp_id}&agentid=#{agent_id}&redirect_uri=#{uri}&state=#{state}"
end