范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

白熊原创PHP开发微信公众号(自定义菜单和高级接口)

  自定义菜单和高级接口
  自定义菜单和高级接口都需要使用AppID和AppSecret来创建,对于暂时没有这些权限的微信公众账号,开发者可以申请测试账号来体验、测试微信公众平台的所有高级接口功能。access Tokenaccess Token概述
  在微信公众平台接口开发中,access_token相当于进入各种接口的钥匙,拿到这个钥匙才有调用其他各种特殊接口的权限。
  access_token是微信公众账号的全局唯一凭证,微信公众账号调用各接口时需要使用access_token。正常情况下,access_token有效期为7200秒,重复获取将导致上次获取的access_token失效。
  可以使用AppID和AppSecret调用接口来获取access_token,AppID和AppSecret可以在开发模式中获得,注意调用所有微信接口时均需要使用HTTPS协议。
  接口调用请求说明
  获取access_token的接口地址如下:
  access_token接口的参数说明见下表:
  正常情况下,微信会返回下述JSON数据包给公众号:
  {"access_token":"ACCESS_TOKEN","expires_in":7200}
  返回结果的参数说明见下表:
  错误时微信会返回错误码等信息,JSON数据包示例如下(该示例为AppID无效错误):
  {"errcode":40013,"errmsg":"invalid appid"}实现代码自定义菜单
  自定义菜单能够帮助微信公众账号丰富界面,增强用户与微信公众账号互动。自定义菜单介绍
  自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。
  一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以"..."代替。
  创建自定义菜单后,菜单的刷新策略是,在用户进入公众号会话页,如果发现上一次拉取菜单的请求在5分钟以前,就会拉取一下菜单,如果菜单有更新,就会刷新客户端的菜单。测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后的效果。按钮类型
  自定义菜单接口可实现多种类型按钮,如下:Click——单击事件推
  用户点击click类型按钮后,微信服务器会通过消息接口推送消息类型为event的结构给开发者(参考消息接口指南),并且带上按钮中开发者填写的key值,开发者可以通过自定义的key值与用户进行交互;View——跳转URL
  跳转URL用户点击view类型按钮后,微信客户端将会打开开发者在按钮中填写的网页URL,可与网页授权获取用户基本信息接口结合,获得用户基本信息。scancode_push——扫码推事件
  用户点击按钮后,微信客户端将调用"扫一扫"工具,完成扫码操作后显示扫描结果(如果是URL,将进入URL),且会将扫码的结果传给开发者,开发者可以下发消息。scancode_waitmsg——扫码推事件且弹出"消息接收中"提示框
  用户点击按钮后,微信客户端将调起扫一扫工具,完成扫码操作后,将扫码的结果传给开发者,同时收起
  用户点击按钮后,微信客户端将调起扫一扫工具,完成扫码操作后,将扫码的结果传给开发者,同时收起扫一扫工具,然后弹出"消息接收中"提示框,随后可能会收到开发者下发的消息。pic_sysphoto——弹出系统拍照发图
  用户点击按钮后,微信客户端将调起系统相机,完成拍照操作后,会将拍摄的相片发送给开发者,并推送事件给开发者,同时收起系统相机,随后可能会收到开发者下发的消息。pic_photo_or_album——弹出拍照或者相册发图
  用户点击按钮后,微信客户端将弹出选择器供用户选择"拍照"或者"从手机相册选择"。用户选择后即走其他两种流程。pic_weixin——弹出微信相册发图器
  用户点击按钮后,微信客户端将调起微信相册,完成选择操作后,将选择的相片发送给开发者的服务器,并推送事件给开发者,同时收起相册,随后可能会收到开发者下发的消息。location_select——弹出地理位置选择器
  用户点击按钮后,微信客户端将调起地理位置选择工具,完成选择操作后,将选择的地理位置发送给开发者的服务器,同时收起位置选择工具,随后可能会收到开发者下发的消息。media_id——下发消息(除文本消息)
  用户点击media_id类型按钮后,微信服务器会将开发者填写的永久素材id对应的素材下发给用户,永久素材类型可以是图片、音频、视频、图文消息。请注意:永久素材id必须是在"素材管理/新增永久素材"接口上传后获得的合法id。view_limited——跳转图文消息URL
  用户点击view_limited类型按钮后,微信客户端将打开开发者在按钮中填写的永久素材id对应的图文消息URL,永久素材类型只支持图文消息。请注意:永久素材id必须是在"素材管理/新增永久素材"接口上传后获得的合法id。
  请注意,3到8的所有事件,仅支持微信iPhone5.4.1以上版本,和Android5.4以上版本的微信用户,旧版本微信用户点击后将没有回应,开发者也不能正常接收到事件推送。9和10,是专门给第三方平台旗下未微信认证(具体而言,是资质认证未通过)的订阅号准备的事件类型,它们是没有事件推送的,能力相对受限,其他类型的公众号不必使用。创建菜单
  创建菜单接口调用请求说明
  http请求方式:POST(使用https协议)
  创建菜单时,需要将菜单内容组织成如下结构,以POST方式向微信服务器提交。
  自定义菜单内容的参数说明见下表:
  给微信公众号创建自定义菜单的代码实现如下所示:
  正确时返回JSON数据包如下:
  {"errorcode":0,"errormsg":"ok"}
  错误时返回JSON数据包如下(示例为无效菜单名长度):
  {"errorcode":40018,"errormsg":"invalid button name size"}查询菜单
  使用接口创建自定义菜单后,开发者还可使用接口查询自定义菜单的结构。另外请注意,在设置了个性化菜单后,使用本自定义菜单查询接口可以获取默认菜单和全部个性化菜单信息。
  查询菜单接口调用请求说明
  http请求方式:GET(使用https协议)
  查询自定义菜单代码实现如下所示:
  正确时返回JSON数据包如下:删除菜单
  使用接口创建自定义菜单后,开发者还可使用接口删除当前使用的自定义菜单。另请注意,在个性化菜单时,调用此接口会删除默认菜单及全部个性化菜单。
  删除菜单的接口调用请求说明:
  http请求方式:GET(使用https协议)菜单事件推送
  用户点击自定义菜单后,微信会把点击事件推送给开发者,请注意,点击菜单弹出子菜单,不会产生上报。如果菜单类型为click,则微信公众平台会把此次单击事件推送给接口程序;按钮类型为view的菜单单击后不会上报,而是直接跳转到对应的URL。单击click类型的菜单时,接口程序收到的XML数据包如下所示
  
  
  123456789
              自定义菜单推送参数说明(click类型)单击view类型的菜单时,接口程序收到的XML数据包如下所示         123456789
           MENUID      自定义菜单推送参数说明(view类型)单击scancode_push类型的菜单时,接口程序接收到的XML数据包如下所示         1408090502
                       微信会返回该XML给接口程序,但用户收不到这个消息,而是直接运行解码后的内容,比如直接进入关注界面。   自定义菜单推送参数说明(scancode_push类型)单击scancode_waitmsg类型的菜单时,接口程序接收到的XML数据包如下所示         1408090606
                       自定义菜单推送参数说明(scancode_waitmsg类型):单击pic_sysphoto类型的菜单时,接口程序接收到的XML数据包如下所示         1408090651
           1
              单击pic_sysphoto类型的菜单后没有XML数据推送过来,它调用的是手机里面的照相机功能,而拍照以后再发过来时就收到一个图片消息。   自定义菜单推送参数说明(pic_sysphoto类型)单击pic_photo_or_album类型的菜单时,接口程序接收到的XML数据包格式如下所示         1408090816
           1
                       1348831860
           1234567890123456
     单击pic_photo_or_album类型的菜单之后,和pic_weixin一样,先推送菜单事件,再推送图片消息。   自定义菜单推送参数说明(pic_photo_or_album类型)单击pic_weixin类型的菜单时,接口程序接收到的XML数据包格式如下所示   单击pic_weixin类型的菜单时,微信客户端将调用微信相册,用户可以选择已有照片,微信会将照片发送给开发者。下面是一次选择3张照片时的XML数据。         1408090816
           3
                             上述XML数据下发后,微信会推送3个图片消息给接口:         1348831860
           1234567890123456
           1348831860
           1234567890123456
           1348831860
           1234567890123456
     对于上述每个图片的消息,后台收到都能进行单独回应,用户可以收到响应消息。   自定义菜单推送参数说明(pic_weixin类型)单击location_select类型的菜单时,接口程序接收到的XML数据包格式如下所示   单击location_select类型的菜单之后,将会调用发送位置功能,在用户发送位置之后,会再推送一个地理位置消息功能给用户,两个消息的XML数据分别如下所示:         1408091189
                                      1351776360
     23.134521   113.358803   20
     1234567890123456
     自定义菜单推送参数说明(location_select类型)   消息接口中,响应自定义菜单单击事件的核心代码如下所示:语音识别接收识别结果处理识别消息客服接口客服接口实现消息接口与客服接口相结合客服接口的意义OAuth2.0网页授权Oauth2.0授权过程详细步骤效果展示生成带参数的二维码场景二维码创建二维码ticket通过ticket换取二维码下载二维码扫描带参数二维码事件获取用户地理位置获取用户地理位置的方式转换坐标到地址用户地理位置的意义获取用户基本信息获取用户基本信息的方式制作个性欢迎语获取关注者列表获取关注者列表的方式分批获取用户分组管理创建分组查询所有分组查询用户所在组修改分组名移动用户分组上传/下载多媒体文件上传多媒体文件下载多媒体文件高级群发接口准备群发内容选择群发对象执行群发接收群发结果模板消息添加模板模板消息开发附录 错误提示Q1:查询菜单时提示accessToken故障   使用自定义菜单查询接口查询菜单时,返回如下错误提示:   解决方法:   经排查、分析,原因是accessToken获取的不正确,修改代码,accessToken获取正确后,再次查询,返回如下信息:   菜单显示不完整   使用自定义菜单查询接口查询菜单,总共有三个一级菜单,但查询后返回的却只用两个一级菜单,在手机微信端也只能看到两个一级菜单   下面是微信上的截图,可以看到只显示了两个菜单项。   解决方法:

黄辣椒成熟,地头2元一斤,收购商不来,农民要烂地里如今已进入了立秋的季节,代表着炎热的天气即将过去,农民又到了收获的季节,除了收获传统的粮食作物外,一些蔬菜也到了收获的季节,农民辛苦种植一季,终于获得了回报。到了秋季以后,是丰收的石榴去年3元一斤卖不动,市场反转,今年9元热销,果农等到了农村经济得到了发展,回乡创业的人群也越来越多,农民根据当地的气候条件,选择合适的水果品种来种植,也是赚钱的一条途径,平时管理得当,到了水果收获的季节,卖出好的价钱,就能获得较高的收笋壳鱼上市,行情看涨,市场24元一斤,养殖户还会暴涨今年水产品的市场行情并不是很好,从年初开始,养殖户就承受了很大压力。自己养的鱼虾到了捕捞的时间,在市场上卖不出好价钱。一方面存塘继续养殖有较大的风险,要花饲料成本养殖,没有多大的意30万斤泥鳅上市,价格逆转,市场12元一斤,养殖户机会来了今年上半年,水产品的市场行情没有那么好,养殖户卖不出好的价格,收入也就没有去年多,对于下一季的养殖,积极性不高,很多的养殖户也在持续观望中。前一段时间,市场上的泥鳅在6月份上市的时养殖鸭嘴鱼,能获得不错的效益,养殖户前景看好最近几年,在农村地区种植或养殖的项目越来越多,让农民挑花了眼,虽然有一些项目存在不切实际,当地的环境不适合开展,市场需求不稳定等因素,但也有一些项目,通过自己的努力,也可以创造较高养殖泥鳅,市场价格上涨,10亩池塘16万元的收入你想尝试吗?今年的水产品,价格经历了比较大的波动,前期的时候,主要还是受到了新冠的影响,销量和价格下降出现了急剧性的下降,让一些养殖户造成了较大的损失。不过到了7月份开始,各个地区餐饮行业的生绿豆芽好吃难长?掌握技巧,不用催生剂,又脆又壮还不烂春夏交替,由于季节的原因,到了8月份以后,应季的蔬菜也就越来越少,豆芽也就成为了人们餐桌上主要的蔬菜。但是自从曝出市场上毒豆芽的影响,一些消费者怕买回来的豆芽有问题,就想着自己在家红鼓鱼价格下跌,市价16元一斤,买的人不多,养殖户该醒醒了鱼是人们生活中比较常见的食材,营养价值比较丰富,受到了消费者的欢迎。最近几年,农村地区从事水产养殖的农民也越来越多,有的人找到合适的项目,通过自己的努力也赚到了一些钱。前几年的时候罗非鱼上市卖不动,塘口大量积压,今年的市场行情是怎么了?在农村地区,如何才能获得更高的收入,是农民需要考虑的问题。发展传统的种植业,种植一些农作物,在市场上的价格不高,一年下来也赚不到多少钱,很多的农民只有外出打工赚钱。要想在农村发展下洋葱市场行情逆转,价格翻倍,库房不够卖,早知道多留点今年夏天的时候,正是蔬菜上市的高峰期,虽然种植户获得了不错的产量,但是价格与往年相比,并没有太大的优势,这也是农民预料中的事,因为今年的蔬菜市场需求整体出现了下滑,需求减少了,而产土豆上市卖不动,0。35元一斤没人收,今年的行情是怎么了?人们生活水平提高了,市场上卖的食材也很丰富,消费者也更加注重健康的饮食,除了能够吃饱外,还有一些营养的要求。有一些农产品在市场卖得很贵,但是依然有人买,价格也不再是衡量销量的唯一因
美司令臆测美俄中太空冲突,鼓吹中国要下手,正研制杀手卫星去年和今年是中国航天丰收的两年,中国航天人完成了多项重大突破。去年6月,经过多年建设,北斗卫星导航系统完成全球组网12月,嫦娥五号月球探测器从月球表面成功带回月壤标本。今年5月,天那个清华才子高杏欣,曾帮美国破解北斗卫星,现在过得怎样?大家对于高杏欣的了解都是起源于她发表了一篇论文,这篇论文大概论述了她如何破译了中国的北斗卫星,她是一名中国人,并且曾经是在清华就读,那她为什么要替美国做事呢?而且破解的还是我国的重清华博士将北斗卫星编码,送给美国,郑强教授这番话一针见血科技人才对于每个国家的重要性可以说不言而喻,在这个现代化发展的趋势中,科技实力成为衡量一个国家能力最为关键的标准,那么科技人才更成为最核心的竞争力。说起那位清华博士将北斗卫星编码,赶集,是很有吸引力的事三十多年前,俺娘患病去世后,我就在脑海里使劲搜寻她的笑容,但一直想不起她笑的样子。在我的记忆里,她从来都是病歪歪的,多年来时时都在艰难地呼吸哮喘病一直折磨着她。俺娘从哪一年不会笑了中医黑的思维逻辑非常怪异,怎么想的呢?1中医黑经常说中医啥啥都说不清楚,你能讲清楚吗?于是,我们给他讲中医的治疗理论。他说听不懂。你是人吗?我也是人!我能明白,你是听不懂,还是没想听?如果你不想听的话,那么就别说人家讲很多人认为中华民族是否缺乏科学精神,缺乏批判精神,您能认同吗几十年来,社会上一直都流传一种说法,认为我们中国文化中缺乏科学精神,尤其是缺乏创新精神。其中有一种理由认为儒家文化不具有科学精神,同时儒家文化倾向于保守,总是学习古代,以古为准,所是懒人带动了科技的发展吗?如今的科学技术带给人很多的迷惑长期以来,一直都流传一种说法是懒人带动了科技的发展,带动了社会财富的增加。他们的理由是科技发展创造了很多让人懒惰的设备。不断代替人的劳动,解放人的双手。甚至于认为科技满足人的各种欲python常见的数据类型有哪些?变量用来存储数据,那么大家有没有想过,我们应该让变量占用多大空间,保存什么样的数据呢?在讲解变量的类型之前,我们先来看一个生活中的例子,例如,我们要运送一台电脑,大卡车和小轿车都可Redis相关常见面试题有哪些?作为一名Java程序面试过程中会被问到Redis相关的问题,这里对其常见问题做了梳理。Redis是一个使用C语言编写的开源高性能非关系型的键值对数据库。Redis可以存储键和五种不把德国抬进安理会?英国支持德国入常,但法国拥有一票否决权前几年国际上有一个看似笑话的新闻事件,土耳其总统埃尔多安要求废除联合国安理会常任理事国一票否决权的提议被联合国安理会五大常任理事国一票否决。这个事件从侧面证明,一票否决权,在如今的抢在德国和法国前,波兰将下一个挑战脱欧?英专家政治自杀今年1月份,英国正式脱欧之后,欧洲似乎刮起了一股脱欧风。今年4月,曾在英国脱欧谈判中代表欧盟出席的谈判代表巴尼耶向欧盟发出警告,如果欧盟不及时汲取英国脱欧的教训,不进行相应的改革,