微信公众平台开发问答
微信公众平台开发问答是一个微信知识问答区,专注于提供微信应用及开发技术知识的整理、归类和检索。
主题:新手常见问题
问:我是新手,没有开发基础,应该如何学习微信公众平台的开发?
答:先学习PHP和Mysql,可以在网上找相应的教程,也可参考书籍《PHP和MySQL Web开发(原书第4版)》;再学习微信公众平台开发入门教程,了解微信收发消息原理及回复;然后根据微信开发文档,熟悉接口,并在此基础上实现一些基本的小功能,并扩展到更复杂的功能上。
问:URL和Token是什么意思?有什么用?我应该如何填写?
答:URL是微信接口程序的网址,可以自己开发程序得到或者使用第三方生成的网址。而Token就是一个令牌,用于微信服务器与程序进行通讯的时候的身份验证,可以理解为接入微信程序的一把钥匙。
使用URL是为了让微信服务器和程序服务器进行通讯,从而接管并处理用户发给程序的消息。当填写完URL和Token并启用的时候,微信服务器就会和程序进行一次数据校验过程,认证通过则表明程序没有问题。
微信公众平台开发入门教程一文中,有获取自己的URL和Token的方法。
问:Token验证失败是什么原因引起的?如何解决?
答:主要原因是程序代码引起的,比如用了别人的程序导致的,需要自己或者找源作者程序代码
少数原因是自己的服务器的问题,比如SAE未实名认证,这种情况上传身份证实名认证一下即可,
极少数原因是微信服务器的响应问题,一般多试几次即可解决。
问:公众账号有哪几种类型?我应该选择哪种?
答:订阅号、服务号、企业号、测试号。
媒体及每日需要群发功能的选择订阅号。
需要有支付功能的企业选择服务号。
需要做内部员工管理,不让外人关注的,选择企业号。
新手学习开发,使用测试号。
问:有没有使用Java或C# .Net做微信开发的?
答:各推荐一本书
Java: 微信公众平台应用开发:方法、技巧与案例
C#: 微信公众平台企业应用开发实战
详见 微信公众平台开发书籍推荐
问:如何找到微信公众账号下用户的微信号?
答:接口无法获取,微信也不提供,唯一的方法是想办法让用户告诉你。
问:启用开发者模式之后,我原先设置的自动回复会丢失吗?
答:不会,停用开发者模式之后,就可以看到了。
主题:消息的接收与发送
问:如何回复多图文消息?
答:使用编辑模式的话,就在素材管理中添加多图文消息,然后在自动回复中添加关键词,对应的回复选择一个多图文消息。
使用开发模式的话,需要用程序组装一个多图文消息,然后在接收到某个特定消息时回复这个多图文。
问:怎么样实现自动回复?
答:请看微信公众平台开发入门教程
问:如何实现关注后,回复图文消息?
答:接收到"subscribe"事件后,构造图文消息回复即可,可参考微信公众平台开发(97) 图文消息
主题:Access Token
问:Access Token为什么要有效期?如何自动更新Access Token,使其长期有效?
答:Access Token是一把万能钥匙,可以调用很多微信接口的权限,为了防止别有用心的人得到后无限制的滥用,所以设置有效期。如果发现Access Token有被滥用的迹象,则可能AppID和AppSecret泄漏了,可以重置AppSecret。
有多种技术上的方法,可以保持Access Token自动更新,比如存放到数据库中,存到缓存中,或存到文件中,具体方法可以看 微信公众平台开发—自动更新微信access token
主题:自定义菜单
问:如何开发生成自定义菜单?为什么我生成了却看不到?
答:首先确定账号是否有开发权限,目前认证的订阅号、服务号和测试账号均可以开发自定义菜单。
自定义菜单开发教程,请看微信公众平台开发(58)自定义菜单
生成成功之后,需要重新关注,稍等一会就可以看到了
问:自定义菜单中如何生成Emoji表情图标?
答:只需要将Emoji表情图标放到菜单中提交即可,Emoji表情生成方法可以参考微信公众平台开发(57)Emoji表情符号 或《微信公众平台开发最佳实践》一书
问:能否实现给不同会员提供不同的菜单内容?
答:不能。
问:订阅号如何申请自定义菜单开发权限?
答:企业订阅号申请微信认证。个人订阅号无法申请,只能在后台编辑。
主题:用户信息/OpenID/OAuth2网页授权
问:如何获得用户的OpenID?
答:用户和公众号交互的时候,接收到的XML消息中有FromUserName参数或OpenID参数,解析取值即可。认证服务号可以使用Oauth2授权在网页中获得openid
问:关注公众号的时候回复“欢迎关注!+用户的昵称“和头像,是怎么实现的?
答:先得到用户的OpenID,再使用获取用户信息接口可以获取实现。
问:用户昵称含有emoji表情导致保存到数据库时乱码,怎么办?
答:Mysql版本升级到MySQL 5.5.3及以上,将数据库的编码设置成utf8mb4。
问:有办法判断两个公众账号下的某两个用户是否是同一个人吗?
答:先将公众账号绑定到微信开发平台,这样在获取用户信息的时候,可以得到UnionID。同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。从而可以判断出是否是同一个人。
问:如何实现OAuth2.0网页授权?有哪些应用场合?如何不弹出授权窗口?
答:实现OAuth2.0网页授权,可以参考微信公众平台开发(71)OAuth2.0网页授权
OAuth2.0网页授权可以用于在网页中获得个人信息,包括OpenID,昵称、头像、城市、性别等。也可以用于判断用户是否关注。
在以下几种情况下不弹出授权窗口:已关注用户不弹出,未关注用户使用snsapi_base作用域方式获取OpenID时不弹出。
问:怎样获得用户授权后的code?
答:授权过程中,该参数以get参数出现在url中,取下来即可。
问:邀请朋友参加活动时发送分享到朋友圈的网页,如何统计邀请数?
答:分享时,链接中带上当前用户的openid参数,朋友打开时,将可以同时获得邀请者和被邀请者的OpenID,将其写入数据库记录
主题:带参数的二维码
问:如何生成带参数的二维码,并实现统计功能?
答:1. 使用参数二维码接口生成多个二维码,
2. 扫描时判断用户来自哪个二维码,并保存
3. 统计用户来源。具体可以参考《微信公众平台开发最佳实践第2版》。
问:永久参数二维码最多个数是多少,可以无限吗?
答:永久二维码最大个数目前默认是10万个,永久二维码不可以无限。
问:10万个永久参数二维码用完之后,可否删除不需要的二维码生成新的吗?
答:不能。重新生成,也只能生成现有的重复参数下的。
主题:素材管理
问:图文消息素材可以直接跳转到第三方页面吗?
答:该权限尚未对普通账号开放。
主题:微信小店
问:微信小店如何配置操作?
答:微信小店配置步骤
在微信公众平台中 【功能】列表中 找到[添加功能插件],选择【微信小店】,开通微信小店功能
1. 在 【运费模版管理】 中 新建运费模版
2. 在 【商品管理】 新建分组
3. 在 【图片库】中 进入 【素材管理】上传图片
4. 在 【添加商品】中 ,添加商品,选择分类 后,再填写商品的 基础信息、物流信息、售后信息、上架设置
5. 在 【货架管理】中, 新建一个货架,添加货架的logo,及商品分组
6. 在自定义菜单中,新建一个菜单,动作设置为 跳转到网页,网页地址填,上述货架的链接地址。
问:微信小店有购物车功能吗?
答:微信小店没有购物车功能,也无法开发实现。
问:微信小店的用户如何查询自己的订单?用户下单后,管理员能收到订单通知吗?
答:用户订单查询和订单交易通知可以通过开发实现。具体可以参考《微信公众平台开发最佳实践第2版》。
问:我的微信小店为什么不能配置出维权功能?
答:只有基于微信支付V2的微信小店可以使用维权功能。2014年9月10号之前申请的微信支付为v2版,之后申请的为v3版。
问:微信小店,卖出商品后,钱流到哪里了,在哪里能看到?
答:微信商户平台中可以看到,以未结算金额的方式体现。当未结算金额达到500时,可以提现到公司对公账户上。
问:微信小点商品类目没有适合我的产品的,怎么办?
答:选择就近的即可。
问:微信小点里面用户购买的时候,可以使用微信卡券吗?
答:目前不能。
问:微信小店单品能否生成二维码或链接?
答:单品是有二维码和链接的,在商品管理中可以找到
问:淘宝天猫中的商品如何导入到微信小店之中?
答:需要开发程序,先拉取淘宝天猫店的产品标题、图片、价格、库存。再使用微信小店上传商品接口程序上传。
问:微信小店填写快递单号后,却无法提交?
答:微信小店的bug。请联系腾讯客服。
问:微信小店如何退款?
答:需要商家在微信商户平台中操作,用户无法申请。
问:微信小店可以设置货到付款吗?
答:不能。
主题:多客服
问:多客服聊天记录可以下载图文消息吗?
答:接口暂未提供。
主题:JS-SDK
问:发送给朋友或分享给朋友圈时,里面显示网址链接,不想要链接想要显示文字怎么办?
答:使用微信JS-SDK接口,定义分享参数。具体可以看 微信公众平台开发(107) 分享到朋友圈和发送给好友,或《微信公众平台开发最佳实践》
主题:微信支付和微信红包
问:微信支付如何使用?
答:1.设置回调域名
2.设置支付url
3.修改官方的demo,将参数改成自己支付账号对应参数值
4.测试jsapi支付及native支付
问:调用支付JSAPI缺少参数:$key0$;参数partner或者prepay_id为空
答:请检查各项配置,如授权域名不能加http,而回调url必须有http,另外注意微信支付中的参数类型。
问:如何通知用户支付成功了?
答:用户可以收到微信支付官方的支付凭证消息。开发者也可以在notifu_url接收到支付成功通知后,使用客服接口发送通知。
问:公众账号如何发微信红包?
答:微信商户平台后台太简陋,基本无法使用。所以需要使用接口开发实现,可以联系方倍工作室定制开发。
问:一分钱红包是怎么回事?
答:一分钱红包,本质上是通过企业付款给用户发的一分钱现金。现在已经禁止,企业付款最少也需要一元。
问:助力红包是真的吗?
答:助力红包要求分享转发,得到朋友的助力,具有诱导分享行为,可能被微信官方处罚。另外红包并非现金红包,往往需要达到一定金额才能提现,而这个“一定金额”往往永远都达不到。
主题:一键关注
问:如何实现一键关注?
答:常用的方法有:
1.让用户长按二维码后,再选择识别图中二维码功能,实现关注
2.点击图文素材文章的篮字
3.使用摇一摇,摇出关注卡片
4.花钱申请公众平台后台的广告主功能,在里面配置一键关注
5.使用微信连wifi,连接的时候默认关注
主题:模版消息
问:如何使用模版消息?
答:模板消息需要开发才能使用,不具有开发能力的商家请联系有开发能力的公司或单位帮助实现,
具有开发能力的商家请看开发文档,也可以参考 微信公众平台开发(102) 模板消息或 《微信公众平台开发最佳实践》
主题:HTML5
问:如何制作HTML5场景页面?
答:学习HTML5开发,或者使用第三方公司的服务,如易企秀。
主题:其他
问:我想问问题,可却不知道该怎么说才好?
答:请点击查看《提问的智慧》
问:问题该怎么发给你?
答:1、注册cnblogs用户,2、关注我们,3、点击文章右下角的推荐按钮,4、在下方评论中留言。
问:你的回答对我很有用,如何回报你?
答:下方有个微信扫一扫捐赠的二维码,转账给我即可。