# 创建与配置第三方平台准备工作
创建与配置第三方平台整体步骤分为:
创建账号时,需填写基本信息
完成账号创建后需进行开发配置:主要包含权限集配置和开发资料配置
开发配置完成后,即可进行调试
调试完成后,即可提交审核(也可以在提交基本信息后即可提交审核,然后再编辑开发资料)
最后进行全网发布(开发资料需要全网发布才会对现网生效)
然而,在基本信息和开发资料填写环节,需要准备的信息较多,本文将描述创建第三方平台的准备事项,便于开发者提前做好准备。
# 基本信息填写准备
1、需要准备可访问的官网网站,创建第三方平台时需要填写官方网站地址
2、需要准备108 x 108像素,大小不超过300KB,且格式为PNG的图片,用于作为平台的图标;创建账号时,如果尚未准备好图标,可先采用默认图标
# 开发资料填写准备
1、需要准备“授权发起页域名”,用于从该域名跳转至授权页面(如果启用云开发,则会默认支持从云托管域名内网页跳转到登录授权页。)
2、需要准备“授权事件接收URL”,用于接收取消授权通知、授权成功通知、授权更新通知,也用于接收ticket等。简单理解为,只推送给服务商的消息就会推送到该URL。(如果启用云服务模式,则只需要填写对应的云环境等信息即可)
3、需要准备“消息与事件接收URL”,用于接收公众号或小程序消息和事件推送。简单理解为,同时推送给服务商和授权公众号或者小程序的的消息就会推送到该URL。(如果启用云服务模式,则只需要填写对应的云环境等信息即可)
4、如果是公众号开发,还需要准备“公众号开发域名”,作为调用JS SDK等网页开发工作时所用的域名
5、如果是小程序开发,还需要准备“小程序服务器域名”和“小程序业务域名”
此外,为了帮助服务商更高效完成第三方平台后端服务搭建和配置,开发者可选择“第三方平台云服务模式”,详情可查看如何搭建第三方平台后端服务。
# 调试准备
1、需准备公众号或者小程序账号,将其加入“开发配置-开发资料-授权测试公众号/小程序列表”
2、需将调试api的clinet ip加入“开发配置-开发资料-白名单IP地址列表”
# 开发资料详细说明
1、开发资料有测试版和现网版两份资料,测试版的配置只对【授权测试公众号/小程序列表】里的账号生效;
2、全网发布通过的资料才会对所有的授权账号生效。
# 1、授权发起页域名
授权发起页域名指公众号/小程序在登录授权给第三方平台时的授权回调域名,在公众号/小程序进行登录授权流程中,必须从本域名内网页跳转到登录授权页,才可完成登录授权。
授权成功后会回调授权时提供的 URI,平台会检查 URI,必须保证 URI 所属域名与服务申请时提供的授权域名保持一致。否则授权页面会出现【确认授权入口页所在域名,与授权后回调页所在域名相同,并且,此两者都必须与申请第三方平台时填写的授权发起页域名相同】的报错提示。
注意,域名不需带有
http://
等协议内容,也不能在域名末尾附加详细的 URI 地址,严格按照类似www.qq.com
的写法。
# 2、授权测试公众号/小程序列表
在全网发布之前,仅该列表内公众号/小程序才可进行授权,以便测试。请填写公众号/小程序的原始 ID(可在公众平台网站的公众号设置页或小程序设置页找到),最多 10 个,以英文
;
隔开。注意,是填写原始 ID,不是APPID,否则会报错
# 3、授权事件接收 配置
用于接收取消授权通知、授权成功通知、授权更新通知等一切平台只推送给第三方平台账号的消息与事件;接收到的信息是加密的,需要按照文档进行解密。
也用于接收验证票据(component_verify_ticket),component_verify_ticket 是验证平台方的重要凭据,请妥善保存。服务方在获取 component_access_token 时需要提供最新推送的 component_verify_ticket 以供验证身份合法性
如果启用云开发模式,则只需要填写对应的云环境等信息即可
# 4、消息校验 Token
开发者在代替公众号/小程序接收到消息时,用此 Token 来校验消息。用法与普通公众号/小程序接 token 一致
如果启用云开发模式,则该项不需要填写
# 5、消息加解密 Key
在代替公众号/小程序接收发消息过程中使用。必须是长度为 43 位的字符串,只能是字母和数字。用法与普通公众号/小程序接 symmetric_key 一致
如果启用云服务模式,则该项不需要填写
# 6、消息与事件接收配置
该 URL 用于接收已授权公众号/小程序接的消息和事件,消息内容、消息格式、签名方式、加密方式与普通公众号/小程序接接收的一致,唯一区别在于签名 token 和加密 symmetric_key 使用的是服务方申请时所填写的信息。由于消息具体内容不会变更,故根据消息内容里的 ToUserName,服务方是可以区分出具体消息所属的公众号/小程序接。
如果启用云服务模式,则只需要填写对应的云环境等信息即可
考虑到服务需要接收大量的授权公众号/小程序接的消息,为了便于做业务分流和业务隔离,必须提供如下形式的 url:www.abc.com/aaa/$APPID$/bbb/cgi,其中$APPID$在实际推送时会替换成所属的已授权公众号/小程序接的 appid。
第三方平台只需获得某个业务模块的授权(而不需要获得客服与菜单权限的授权),然后在收到该业务模块事件推送后,如果该事件是允许进行 5 秒内被动回复消息给粉丝的,那么第三方就可以被动回复(业务模块的哪些事件推送允许被动回复用户,哪些不允许,需咨询具体业务模块)
如果第三方希望实现实时获知公众号有新粉丝关注,只需要收到关注事件后回复 success 即可,不必另行回复,免得公众号出现多个第三方同时进行粉丝关注后的自动回复。
# 7、公众号开发域名
公众号开发域名最多可以填写 3 个,每个以英文“;”符号隔开。每个公众号开发域名会产生 2 个效果(请注意,不需带有“http://”等协议内容,也不能在域名末尾附加详细目录)
在该域名和符合要求的下级域名内,可以代替旗下授权后公众号发起网页授权。下级域名必须是$APPID$.wx.abc.com 的形式($APPID$为公众号的 AppID 的替换符,建议第三方用这种方式,若需可做域名映射),如果不按这种形式来做,旗下公众号违规将可能导致整个网站被封。
在该域名(一级域名)内,可以代替旗下授权后公众号调用 JS SDK(需要配合公众号的 AppID)
# 8、小程序服务器域名
授权给第三方的小程序,其服务器域名只可以为第三方平台的服务器,当小程序通过第三方平台发布代码上线后,小程序原先自己配置的服务器域名将被删除,只保留第三方平台的域名,所以第三方平台在代替小程序发布代码之前,需要调用接口为小程序添加第三方平台自身的域名。
注意,需要先将域名登记到第三方平台的小程序服务器域名中,才可以调用接口进行配置。
最多可以添加1000个合法服务器域名;其中,Request域名、Socket域名、Uploadfile域名、Download域名、Udp域名、tcp域名的设置数量均最大支持200个。
每月可提交修改申请50次。
# 9、小程序业务域名:
授权给第三方的小程序,其业务域名只可以为第三方平台的服务器,当小程序通过第三方发布代码上线后,小程序原先自己配置的业务域名将被删除,只保留第三方平台的域名,所以第三方平台在代替小程序发布代码之前,需要调用接口为小程序添加业务域名。
注意,需要先将业务域名登记到第三方平台的小程序业务域名中,才可以调用接口进行配置。
为授权的小程序配置域名时支持配置子域名,例如第三方登记的业务域名如为 qq.com,则可以直接将 qq.com 及其子域名(如 xxx.qq.com)也配置到授权的小程序中。
最多可以添加200个业务域名。
# 10、白名单 IP 地址列表
- 仅当开发者 IP 地址在该列表中时,才被允许调用相关接口。最多填写 100 个 IP 地址,以英文“;”隔开。后续有出口 IP 变更时一定要先在申请资料里填写并覆盖现网,否则会被拦截。
# 11、云服务模式填写说明
- 如果选择云开发模式,则需要填写环境ID和云函数名称
- 其中,环境id指的是当前第三方平台绑定的腾讯云账号下的环境,可通过接口获取现有的环境id列表https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/describeenvs.html
- 以及,可以通过接口获取当前云函数列表https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/getscflist.html
# 12、其他补充
- 注意,对于申请资料中填写的所有完整有效 url,都需要做一次 echo 校验,以确定该 url 是有效可连通的,这个与普通公众号开发模式下 url 校验方式一致,只是使用的 token 为服务方的 token。具体校验规则请点击