微信公众号开发-一次性订阅消息公众号接入

本文最初发表于我的个人站点

请注意: 本文只详细介绍微信公众号如何接入,不介绍app中的接入方式,公众号的一些设置以及注意事项应该是通用的

一次性订阅消息接口发布
在2017-07-24日,微信开放了“一次性订阅消息”接口,在文章中有接入文档,分别是
App接入文档
公众号或网页接入文档

有了这个接口之后,开发者与用户之间能建立更多的互动与联系。
以前在微信中,用户必须要关注了对应的公众号,才能接受到来自这个公众号的通知,想要给一个没有关注过对应公众号的用户发送一条消息是不可能的事情。
而现在有了这个接口之后“关注”这个动作就不是必要的了。开发者可以主动询问用户是否有需要关心的消息或者业务,用户自主来选择“确认接收“或者”不想接收“。
这是个十分实用也是十分强大的功能,随着微信越来越开放的态度,我相信这个生态圈会越来越完善,吸引更多的开发者与用户进入。
公众号的接入
由于官方文档是刚出来,接口上面的接入方式也不是十分地明确,在网上搜索了一圈发现没有人写过对应的文章,于是自己试了一下到底如何接入,下面将自己的接入时的经验和一些需要注意的事项分享给大家。
公众号接口权限确认
首先公众号必须是已经认证过的,这一点在微信公众号官方接口文档中有提到。

微信公众号开发-一次性订阅消息公众号接入_第1张图片

登录微信公众号的后台,如果是已经认证的公众号,可以看到已经获得了这个接口权限。

微信公众号开发-一次性订阅消息公众号接入_第2张图片

公众号业务域名设置
这一点也是我尝试了一会儿才弄明白是怎么回事,必须要设置才能成功地调用接口,下面详细阐述如何设置。
可以看到接口文档中,在请求用户授权接受一条消息的时候,redirect_url是有要求的,必须不能带任何路径
微信公众号开发-一次性订阅消息公众号接入_第3张图片

在公众号后台的公众号设置中,查看自己的业务域名是否已经设置过
微信公众号开发-一次性订阅消息公众号接入_第4张图片

如果没有设置过,就进去设置一下,注意一下:这里一定要填一个不带任何路径的域名,不然无法满足上面redirect_url参数的要求,不能去写”xxx.mydomain.com/wechat”这种,必须写”xxx.mydomain.com”
微信公众号开发-一次性订阅消息公众号接入_第5张图片

这里可以看到他要求将文件上传到你对应域名的服务器上面,就下载下来上传一下,用浏览器访问图中提到的路径,能够正常访问到,出来一堆字符串就证明这一步ok了
微信公众号开发-一次性订阅消息公众号接入_第6张图片

请求用户同意授权,获取一次给用户推送一条订阅模板消息的机会
接口中说的很清楚,我们只需要按照文档构造一个url,让用户在微信中打开,就可以获得一次用户确认的机会
我们构造的url中,需要注意的参数有:
appid

公众号appid,公众号的唯一标识,在公众号后台的基本配置中可以查看

微信公众号开发-一次性订阅消息公众号接入_第7张图片

template_id

一次性订阅模板消息id,点击接口“查看模板id”可以查看

微信公众号开发-一次性订阅消息公众号接入_第8张图片

redirect_url

填写之前的业务域名,不能填其他的,否则调用不会成功

其他的参数就按照文档填写即可
若一切顺利,构造出来的url会如下:

微信公众号开发-一次性订阅消息公众号接入_第9张图片

把这个url发送给自己的微信,点开之后,会出现提示
微信公众号开发-一次性订阅消息公众号接入_第10张图片

用户同意或取消授权
微信公众号开发-一次性订阅消息公众号接入_第11张图片

如果用户同意了之后,你就可以给拿到他的openid,就可以向他发送一次消息了,注意是“一次”,每次想发消息给用户,都要让用户同意授权一次。
通过API推送订阅模板消息给到授权微信用户
这里我们使用postman来模拟向用户发送消息:
微信公众号开发-一次性订阅消息公众号接入_第12张图片

如果用户已经关注了公众号,就会在公众号里面收到提醒
微信公众号开发-一次性订阅消息公众号接入_第13张图片

如果没有关注公众号,就会在服务通知里面收到提醒

你可能感兴趣的:(微信公众号开发-一次性订阅消息公众号接入)