Class: Wechat::Core::FollowerProfile

Inherits:
Object
  • Object
show all
Extended by:
Common
Defined in:
lib/wechat/core/follower_profile.rb

Constant Summary

Constants included from Common

Common::ERROR_CODES, Common::LANGUAGE_ENGLISH, Common::LANGUAGE_SIMPLIFIED_CHINESE, Common::LANGUAGE_TRANDITIONAL_CHINESE

Class Method Summary collapse

Methods included from Common

assert_present!, get_json, post_json

Class Method Details

.index(access_token, open_ids, language: Wechat::Core::Common::LANGUAGE_SIMPLIFIED_CHINESE) ⇒ Object

批量获取用户基本信息mp.weixin.qq.com/wiki/14/bb5031008f1494a59c6f71fa0f319c66.html#.E6.89.B9.E9.87.8F.E8.8E.B7.E5.8F.96.E7.94.A8.E6.88.B7.E5.9F.BA.E6.9C.AC.E4.BF.A1.E6.81.AF 最多支持一次拉取100条。

Return hash format if success: {

user_info_list: [
  {
    subscribe:      1,
    openid:         <OPEN_ID>,
    nickname:       <NICK_NAME>,
    sex:            <GENDER_CODE>,
    language:       <LANGUAGE_CODE>,
    city:           <CITY_NAME>,
    province:       <PROVINCE_NAME>,
    country:        <COUNTRY_NAME>,
    headimgurl:     <HEAD_IMAGE_LINK>,
    subscribe_time: <SUBSCRIBE_TIME>,
    unionid:        <UNION_ID>, 
    remark:         <REMARK>,
    groupid:        <GROUP_ID>
  }
]

}



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/wechat/core/follower_profile.rb', line 31

def self.index(access_token, open_ids, language: Wechat::Core::Common::LANGUAGE_SIMPLIFIED_CHINESE)

  assert_present! :access_token, access_token
  assert_present! :open_ids, open_ids
  #raise ArgumentError.new('The access_token argument is required.') if access_token.blank?

  followers = open_ids.map { |open_id| { openid: open_id, lang: language } }
  message = ::JSONClient.new.post "https://api.weixin.qq.com/cgi-bin/user/info/batchget?access_token=#{access_token}", { user_list: followers }
  message.body

end

.load(access_token, open_id, language: 'zh_CN') ⇒ Object

获取用户基本信息(UnionID机制) mp.weixin.qq.com/wiki/14/bb5031008f1494a59c6f71fa0f319c66.html#.E8.8E.B7.E5.8F.96.E7.94.A8.E6.88.B7.E5.9F.BA.E6.9C.AC.E4.BF.A1.E6.81.AF.EF.BC.88.E5.8C.85.E6.8B.ACUnionID.E6.9C.BA.E5.88.B6.EF.BC.89 一次拉取调用最多拉取10000个关注者的OpenID,可以通过多次拉取的方式来满足需求。

Return hash format if success:

subscribe:      1,
openid:         <OPEN_ID>,
nickname:       <NICK_NAME>,
sex:            <GENDER_CODE>,
language:       <LANGUAGE_CODE>,
city:           <CITY_NAME>,
province:       <PROVINCE_NAME>,
country:        <COUNTRY_NAME>,
headimgurl:     <HEAD_IMAGE_LINK>,
subscribe_time: <SUBSCRIBE_TIME>,
remark:         <REMARK>,
groupid:        <GROUP_ID>



62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/wechat/core/follower_profile.rb', line 62

def self.load(access_token, open_id, language: 'zh_CN')

  assert_present! :access_token, access_token
  assert_present! :open_id, open_id
  #raise ArgumentError.new('The access_token argument is required.') if access_token.blank?

  message = ::JSONClient.new.get 'https://api.weixin.qq.com/cgi-bin/user/info',
    {
      access_token: access_token,
      openid:       open_id,
      lang:         language
    }
  message.body
end