module WechatPublicApi::Menu
Public Instance Methods
create_menu(post_data)
click to toggle source
create wechat public menu @param <json> post_data
> post_data example¶ ↑
{
"button": [ { "type": "view", "name": "", "url": "", "sub_button": [] }, { "type": "click", "name": "", "key": "menu_3", "sub_button": [] } ]
}
if success @return <JSON> {“errcode”=>0, “errmsg”=>“ok”} if failed @return <JSON> {“errcode”=>40166, “errmsg”=>“.…”}
# 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_menu()
click to toggle source
delete wechat query from access_token @return <JSON> {“errcode”=>0, “errmsg”=>“ok”}
# 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_menu()
click to toggle source
get wechat public menu list
# 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