Module: WechatPublicApi::Menu

Included in:
WechatPublicApi
Defined in:
lib/wechat_public_api/menu.rb

Instance Method Summary collapse

Instance Method Details

#create_menu(post_data) ⇒ JSON

create wechat public menu

> post_data example

{ “button”: [

   {
     "type": "view",
     "name": "",
     "url": "",
     "sub_button": []
    },
   {
     "type": "click",
     "name": "",
     "key": "menu_3",
     "sub_button": []
    }
 ]

}

if success if failed

Parameters:

  • post_data (json)

Returns:

  • (JSON)

    “errmsg”=>“ok”

  • (JSON)

    “errmsg”=>“.…”



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/wechat_public_api/menu.rb', line 37

def create_menu(post_data)
  # request access_token
  access_token = get_access_token()
  post_data = post_data.to_json.gsub(/\\u([0-9a-z]{4})/) {|s| [$1.to_i(16)].pack("U")}

  uri = URI.parse("https://api.weixin.qq.com/cgi-bin/menu/create?access_token=#{access_token}")
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  request = Net::HTTP::Post.new("/cgi-bin/menu/create?access_token=#{access_token}")
  request.add_field('Content-Type', 'application/json')
  request.body = post_data
  response = http.request(request)
  (JSON.parse response.body)
end

#delete_menuJSON

delete wechat query from access_token

Returns:

  • (JSON)

    “errmsg”=>“ok”



65
66
67
68
69
70
# File 'lib/wechat_public_api/menu.rb', line 65

def delete_menu()
  # request access_token
  access_token = get_access_token()
  response = HTTParty.get("https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=#{access_token}").body
  (JSON.parse response)
end

#query_menuObject

get wechat public menu list



54
55
56
57
58
59
# File 'lib/wechat_public_api/menu.rb', line 54

def query_menu()
  # request access_token
  access_token = get_access_token()
  response = HTTParty.get("https://api.weixin.qq.com/cgi-bin/menu/get?access_token=#{access_token}").body
  (JSON.parse response)
end