目录 php
1 概念 2html
2 主要提供服务 2api
2.2 公众号内网页 2服务器
4 测试号 6网络
4.1 测试号管理界面 6微信公众平台
6.3 上传多张照片时,IOS系统没法正常上传,一直显示加载状态。 22
在开始以前,咱们须要认识如下几个概念:
公众号是以微信用户的一个联系人形式存在的,消息会话是公众号与用户交互的基础。目前公众号内主要有这样几类消息服务的类型,分别用于不一样的场景。
注意:服务号每个月4次指的是每一个用户4次,举个例子,每月公众号能够向用户甲单独推送4条信息,同时也能够向乙推送4条信息。
注意:若是被动回复消息时,处理业务时长超过5秒,建议先回复微信服务器响应成功,而后经过客服消息接口或者模板消息接口进行回复。
许多复杂的业务场景,须要经过网页形式来提供服务,这时须要用到:
1)网页受权获取用户基本信息:经过该接口,能够获取用户的基本信息(获取用户的OpenID是无需用户赞成的,获取用户的基本信息则需用户赞成)
2)微信JS-SDK:是开发者在网页上经过JavaScript代码使用微信原生功能的工具包,开发者可使用它在网页上录制和播放微信语音、监听微信分享、上传手机本地图片、拍照等许多能力。
在进行微信网页开发以前,咱们须要对公众号类型有必定的了解。以下图所示:
服务号、订阅号、企业号的介绍(区别)
注意:订阅号没法获取到OPENID等信息。能够考虑被动回复获取OPENID组织Url给用户。
接口权限列表:
接口名称 |
未认证订阅号 |
微信认证订阅号 |
未认证服务号 |
微信认证服务号 |
基础支持-获取access_token |
有 |
有 |
有 |
有 |
基础支持-获取微信服务器IP地址 |
有 |
有 |
有 |
有 |
接收消息-验证消息真实性、接收普通消息、接收事件推送、接收语音识别结果 |
有 |
有 |
有 |
有 |
发送消息-被动回复消息 |
有 |
有 |
有 |
有 |
发送消息-客服接口 |
有 |
有 |
||
发送消息-群发接口 |
有 |
有 |
||
发送消息-模板消息接口(发送业务通知) |
有 |
|||
用户管理-用户分组管理 |
有 |
有 |
||
用户管理-设置用户备注名 |
有 |
有 |
||
用户管理-获取用户基本信息 |
有 |
有 |
||
用户管理-获取用户列表 |
有 |
有 |
||
用户管理-获取用户地理位置 |
有 |
|||
用户管理-网页受权获取用户openid/用户基本信息 |
有 |
|||
推广支持-生成带参数二维码 |
有 |
|||
推广支持-长连接转短连接口 |
有 |
|||
界面丰富-自定义菜单 |
有 |
有 |
有 |
|
素材管理-素材管理接口 |
有 |
有 |
||
智能接口-语义理解接口 |
有 |
|||
多客服-获取多客服消息记录、客服管理 |
有 |
|||
微信支付接口 |
需申请 |
|||
微信小店接口 |
需申请 |
|||
微信卡券接口 |
需申请 |
需申请 |
||
微信设备功能接口 |
需申请 |
|||
微信JS-SDK-基础接口 |
有 |
有 |
有 |
有 |
微信JS-SDK-分享接口 |
有 |
有 |
||
微信JS-SDK-图像接口 |
有 |
有 |
有 |
有 |
微信JS-SDK-音频接口 |
有 |
有 |
有 |
有 |
微信JS-SDK-智能接口(网页语音识别) |
有 |
有 |
有 |
有 |
微信JS-SDK-设备信息 |
有 |
有 |
有 |
有 |
微信JS-SDK-地理位置 |
有 |
有 |
有 |
有 |
微信JS-SDK-界面操做 |
有 |
有 |
有 |
有 |
微信JS-SDK-微信扫一扫 |
有 |
有 |
有 |
有 |
微信JS-SDK-微信小店 |
有 |
|||
微信JS-SDK-微信卡券 |
有 |
有 |
||
微信JS-SDK-微信支付 |
有 |
几种公众号具体的权限说明请查看:http://mp.weixin.qq.com/wiki/13/8d4957b72037e3308a0ca1b21f25ae8d.html
通常状况下,咱们使用认证服务号为企业提供服务。
除了订阅号、服务号、企业号能够用于开发以外,咱们还可使用测试号进行开发和测试。测试号申请地址以下:http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index
类目 |
功能 |
接口 |
每日调用上限/次 |
操做 |
对话服务 |
基础支持 |
2000 |
|
|
无上限 |
|
|||
接收消息 |
无上限 |
|
||
无上限 |
|
|||
无上限 |
|
|||
无上限 |
||||
发送消息 |
无上限 |
|
||
500000 |
|
|||
详情 |
|
|||
100000 |
|
|||
用户管理 |
详情 |
|
||
10000 |
|
|||
500000 |
|
|||
500 |
|
|||
无上限 |
||||
推广支持 |
100000 |
|
||
1000 |
|
|||
界面丰富 |
详情 |
|
||
素材管理 |
详情 |
|
||
功能服务 |
智能接口 |
1000 |
||
设备功能 |
无上限 |
|||
多客服 |
5000 |
|||
详情 |
||||
详情 |
||||
网页服务 |
网页账号 |
无上限 |
||
基础接口 |
无上限 |
|||
分享接口 |
无上限 |
|||
无上限 |
||||
无上限 |
||||
无上限 |
||||
图像接口 |
无上限 |
|||
无上限 |
||||
无上限 |
||||
无上限 |
||||
音频接口 |
无上限 |
|||
无上限 |
||||
无上限 |
||||
无上限 |
||||
无上限 |
||||
无上限 |
||||
无上限 |
||||
智能接口 |
无上限 |
|||
设备信息 |
无上限 |
|||
地理位置 |
无上限 |
|||
无上限 |
||||
界面操做 |
无上限 |
|||
无上限 |
||||
无上限 |
||||
无上限 |
||||
无上限 |
||||
无上限 |
||||
无上限 |
测试号基本上能知足平常的开发使用,不过请注意相关接口每日调用上限。
在进入开发以前,咱们须要对公众号进行一些配置,不然会出现一些莫名其妙的错误,浪费咱们大量的时间和精力。下面先以认证服务号为例,咱们先须要注意配置如下内容:
默认的状况下,申请完认证服务号,微信并无默认开通全部的功能。所以你们须要将本身须要用到的功能添加进来。以下图所示:
申请完公众号后,建议优先设置头像、微信号、介绍等内容:
此处很容易被忽略,设置入口以下所示:
如上图所示,如下两点要特别注意。
业务域名:设置业务域名后,在微信内访问该域名下页面时,不会被从新排版。
JS接口安全域名:设置JS接口安全域名后,公众号开发者可在该域名下调用微信开放的JS接口。好比选择相册、上传照片、录音以及上传录音等等。
若是使用认证服务号而且须要使用到JSSDK,请注意配置JS接口安全域名,并域名必须是已备案的一级域名。若是是配置测试号,则可使用未备案的域名以及二级域名。
JS接口安全域名配置界面以下所示:
APPId和AppSecret:用于生成AccessToken。
服务器配置:用于接收微信服务器事件请求,好比关注事件、取消关注事件、关键字、菜单点击等等。配置以下图所示,服务器地址对是否须要域名备案没有要求:
设置OAUTH2.0网页受权域名:若是须要使用OAUTH接口获取到微信粉丝信息,就必须设置此处域名。设置步骤以下所示:
注意:若是在微信网页想获取到当前粉丝信息(包括OPENID),请使用OAuth网页受权接口而且设置【受权回调页面域名】。使用框架中的WeChatOAuth也须要配置【受权回调页面域名】。
测试号配置相对简单明了,咱们先来看看界面:
如上所示,接口配置信息用于配置服务器事件地址和Token,以接收服务器事件消息。JS接口安全域名配置同认证服务号。
一样的,测试号也有接口权限列表:
注意,别忘了配置【网页受权域名】。以下所示:
这里顺便说下测试号的申请。申请地址以下:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
只要用微信扫一扫,你就能够拥有本身的测试号了。
测试号是开发人员用于开发测试的不二选择,申请测试号也是比较简单方便。不过在使用过程当中,请注意测试号的接口权限以及调用次数。值得注意的是,测试号的模板消息是自行随意编辑的,而不是从模板库选择,建议你们从模板库中复制模板内容,而后根据模板库编号(非模板消息编号)进行模板消息推送。
配置好以上内容以后,咱们就能够着手微信网页开发了。
答:这是在使用网页受权获取用户基本信息接口是所抛出的错误。在怀疑参数排序或者处理以前,请确认已经设置【受权回调页面域名】。若是您使用了WeChatOAuth筛选器来获取用户信息,那么生成连接的错误性基本上没有。
答:在确认配置以及写法是否正确以前,请确认已经配置【JS接口安全域名】。若是您使用了框架的封装来配置JSSDK,那么配置错误的可能性基本没有。
答:JSSDK上传接口Bug,框架中的JSSDK封装默认修复了此问题,处理方式见博客:http://www.cnblogs.com/codelove/p/5247090.html
答:确保公众号已经认证,而且jsApiList参数中包括相关api的权限。框架默认配置中包含了全部的权限。
答:使用JSSDK上传后,素材将会上传到临时素材之中,请使用相关接口下载到服务器。