微信公众平台开发问答是一个微信知识问答区,专注于提供微信应用及开发技术知识的整理、归类和检索。
主题:新手常见问题
问:我是新手,没有开发基础,应该如何学习微信公众平台的开发?
答:先学习PHP和Mysql,可以在网上找相应的教程,也可参考书籍《PHP和MySQL Web开发(原书第4版)》;再学习微信公众平台开发入门教程,了解微信收发消息原理及回复;然后根据微信开发文档,熟悉接口,并在此基础上实现一些基本的小功能,并扩展到更复杂的功能上。
问:URL和Token是什么意思?有什么用?我应该如何填写?
答:URL是微信接口程序的网址,可以自己开发程序得到或者使用第三方生成的网址。而Token就是一个令牌,用于微信服务器与程序进行通讯的时候的身份验证,可以理解为接入微信程序的一把钥匙。
使用URL是为了让微信服务器和程序服务器进行通讯,从而接管并处理用户发给程序的消息。当填写完URL和Token并启用的时候,微信服务器就会和程序进行一次数据校验过程,认证通过则表明程序没有问题。
微信公众平台开发入门教程一文中,有获取自己的URL和Token的方法。
问:Token验证失败是什么原因引起的?如何解决?
答:主要原因是程序代码引起的,比如用了别人的程序导致的,需要自己或者找源作者程序代码
少数原因是自己的服务器的问题,比如SAE未实名认证,这种情况上传身份证实名认证一下即可,
极少数原因是微信服务器的响应问题,一般多试几次即可解决。
问:公众账号有哪几种类型?我应该选择哪种?
答:订阅号、服务号、企业号、测试号。
媒体及每日需要群发功能的选择订阅号。
需要有支付功能的企业选择服务号。
需要做内部员工管理,不让外人关注的,选择企业号。
新手学习开发,使用测试号。
问:有没有使用Java或C# .Net做微信开发的?
答:各推荐一本书
Java: 微信公众平台应用开发:方法、技巧与案例
C#: 微信公众平台企业应用开发实战
详见http://www.cnblogs.com/txw1958/p/weixin-book-dev.html
问:如何找到微信公众账号下用户的微信号?
答:接口无法获取,微信也不提供,唯一的方法是想办法让用户告诉你。
问:启用开发者模式之后,我原先设置的自动回复会丢失吗?
答:不会,停用开发者模式之后,就可以看到了。
主题:消息的接收与发送
问:如何回复多图文消息?
答:使用编辑模式的话,就在素材管理中添加多图文消息,然后在自动回复中添加关键词,对应的回复选择一个多图文消息。
使用开发模式的话,需要用程序组装一个多图文消息,然后在接收到某个特定消息时回复这个多图文。
问:怎么样实现自动回复?
答:请看微信公众平台开发入门教程
主题:Access Token
问:Access Token为什么要有效期?如何自动更新Access Token,使其长期有效?
答:Access Token是一把万能钥匙,可以调用很多微信接口的权限,为了防止别有用心的人得到后无限制的滥用,所以设置有效期。如果发现Access Token有被滥用的迹象,则可能AppID和AppSecret泄漏了,可以重置AppSecret。
有多种技术上的方法,可以保持Access Token自动更新,比如存放到数据库中,存到缓存中,或存到文件中,具体方法可以看 http://www.cnblogs.com/txw1958/p/weixin-access_token-memcache.html
主题:自定义菜单
问:如何开发生成自定义菜单?为什么我生成了却看不到?
答:首先确定账号是否有开发权限,目前认证的订阅号、服务号和测试账号均可以开发自定义菜单。
自定义菜单开发教程,请看 http://www.cnblogs.com/txw1958/p/weixin-58-custom-menu.html
生成成功之后,需要重新关注,稍等一会就可以看到了
问:自定义菜单中如何生成Emoji表情图标?
答:只需要将Emoji表情图标放到菜单中提交即可,Emoji表情生成方法可以参考 http://www.cnblogs.com/txw1958/archive/2013/08/06/3240518.html 或《微信公众平台开发最佳实践》一书
问:能否实现给不同会员提供不同的菜单内容?
答:不能。
问:订阅号如何申请自定义菜单开发权限?
答:企业订阅号申请微信认证。个人订阅号无法申请,只能在后台编辑。
主题:用户信息/OpenID/OAuth2网页授权
问:如何获得用户的OpenID?
答:用户和公众号交互的时候,接收到的XML消息中有FromUserName参数或OpenID参数,解析取值即可。XML样例如下所示:
<xml>
<ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName>
<FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FromUserName>
<CreateTime>1359044526</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[/::)/::~/::B/::|/:8-)]]></Content>
<MsgId>5837051792978241864</MsgId>
</xml>
问:关注公众号的时候回复用户的昵称和头像,是怎么实现的?
答:先得到用户的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中,取下来即可。
主题:带参数的二维码
问:如何生成带参数的二维码,并实现统计功能?
答:1. 使用参数二维码接口生成多个二维码,
2. 扫描时判断用户来自哪个二维码,并保存
3. 统计用户来源。
问:永久参数二维码最多个数是多少,可以无限吗?
答:永久二维码最大个数目前默认是10万个,永久二维码不可以无限。
主题:微信小店
问:微信小店有购物车功能吗?
答:微信小店没有购物车功能,也无法开发实现。
问:微信小店的用户如何查询自己的订单?用户下单后,管理员能收到订单通知吗?
答:用户订单查询和订单交易通知可以通过开发实现。具体可以参考或《微信公众平台开发最佳实践》第2版。
问:我的微信小店为什么不能配置出维权功能?
答:只有基于微信支付V2的微信小店可以使用维权功能。2014年9月10号之前申请的微信支付为v2版,之后申请的为v3版。
问:微信小店,卖出商品后,钱流到哪里了,在哪里能看到?
答:微信商户平台中可以看到,以未结算金额的方式体现。当未结算金额达到500时,可以提现到公司对公账户上。
问:微信小点商品类目没有适合我的产品的,怎么办?
答:选择就近的即可。
主题:多客服
问:多客服聊天记录可以下载图文消息吗?
答:接口暂未提供。
主题:JS-SDK
问:发送给朋友或分享给朋友圈时,里面显示网址链接,不想要链接想要显示文字怎么办?
答:使用微信JS-SDK接口,定义分享参数。具体可以看 http://www.cnblogs.com/txw1958/p/weixin-js-sharetimeline.html,或或《微信公众平台开发最佳实践》
主题:微信支付和微信红包
问:微信支付如何使用?
答:1.设置回调域名
2.设置支付url
3.修改官方的demo,将参数改成自己支付账号对应参数值
4.测试jsapi支付及native支付
问:调用支付JSAPI缺少参数:$key0$;参数partner或者prepay_id为空
答:请检查各项配置,如授权域名不能加http,而回调url必须有http,另外注意微信支付中的参数类型。
问:如何通知用户支付成功了?
答:用户可以收到微信支付官方的支付凭证消息。开发者也可以在notifu_url接收到支付成功通知后,使用客服接口发送通知。
问:公众账号如何发微信红包?
答:微信商户平台后台太简陋,基本无法使用。所以需要使用接口开发实现,可以联系方倍工作室定制开发。
问:一分钱红包是怎么回事?
答:一分钱红包,本质上是通过企业付款给用户发的一分钱现金。现在已经禁止,企业付款最少也需要一元。
问:助力红包是真的吗?
答:助力红包要求分享转发,得到朋友的助力,具有诱导分享行为,可能被微信官方处罚。另外红包并非现金红包,往往需要达到一定金额才能提现,而这个“一定金额”往往永远都达不到。
主题:一键关注
问:如何实现一键关注?
答:常用的方法有:
1.让用户长按二维码后,再选择识别图中二维码功能,实现关注
2.点击图文素材文章的篮字
3.使用摇一摇,摇出关注卡片
主题:模版消息
问:如何使用模版消息?
答:模板消息需要开发才能使用,不具有开发能力的商家请联系有开发能力的公司或单位帮助实现,具有开发能力的商家请看开发文档,也可以参考 http://www.cnblogs.com/txw1958/p/wechat-template-message.html或或《微信公众平台开发最佳实践》
主题:HTML5
问:如何制作HTML5场景页面?
答:学习HTML5开发,或者使用第三方公司的服务,如易企秀。
主题:其他
问:同一公众号下的2个粉丝如何互加好友?
答:1.这是微信,不是微博。2.请管理员联系对方并索要微信号。