JAVA开发---微信文章留言功能实现

概述

最近应公司需求,对微信文章留言功能进行开发,然而由于微信文档描述贼简单,所以遇坑不断,特在此整理一下以便各位少走弯路。


1. 留言功能开通

首先,公众号需要具备可以进行留言的资格,如果你的公众号开通了原创功能,那么留言也就自然而然的开通了,留言属于原创功能的附属功能。公众号的原创功能是微信官方主动邀请开通的,不能自己申请。如果你的公众号并没有原创功能,那么就没必要考虑留言功能了-.-

下面说下微信官方对于原创功能开通的条件:
  1. 需要已运营了一定的时间,因为微信团队需要时间去评判发布的内容是否高质量,是否属于原创;
  2. 运营者需要在微信公众平台上保持一定的活跃度;
  3. 原创文章需要一定的数量,要有持续的输出;
  4. 原创的程度,微信系统会比对平台上所有历史、现在创造的文章,看看是否原创;
  5. 不能有抄袭等违规历史,这个非常重要。有很多申请原创保护的帐号,尽管现在在创作一些内容,但以前有抄袭历史,微信也会重视评判;
  6. 遵守原创规则。
简单点说就是:注册时长+活跃度+原创文章数量+原创程度
一般情况下,保持原创推送一两个月就可以收到微信的邀请了

2. 接口变更

这一点微信文档里写的很清楚,要注意之前的图文素材相关的接口都需要加上两个参数。need_open_comment 和 only_fans_can_comment。这里提一下,就不多说了。


3.查看指定文章的留言数据接口

留言开通,关闭,回复,删除接口都没问题,按文档来就行。下面说下获取文章留言获取接口,这是微信留言文档里面最大的坑。

先说返回值吧,文档里的返回值乱的一批,刚开始看绝对一脸懵逼。我这里把我测试用的返回粘上供大家参考。

{
  "errcode": 0,
  "total": 49,
  "errmsg": "ok",
  "comment": [
    {
      "user_comment_id": 66,
      "create_time": 1525421781,
      "comment_type": 1,
      "openid": "og33QsgCon_1RlXY7-XyZfJs",
      "reply": {
        "create_time": 1525675194,
        "content": "啦啦啦"
      },
      "content": "啦啦啦啦啦啦啦"
    },
    .....
    {
      "user_comment_id": 15,
      "create_time": 1525337621,
      "comment_type": 0,
      "openid": "og33QsgCon_1RlXY7-XyZfJs",
      "content": "拉拉阿拉蕾"
    }
  ]
}            

返回json就如上所示,其中total这个字段不是这篇文章的留言总数量,而是你这次接口请求得到的留言数量,这点需要注意。还有返回的json中的时间都是时间戳,需要进行转换。comment数组里存放的是根据留言时间进行倒序排序的留言。这关系到请求参数begin,需要留意下。user_comment_id 这个字段是从1开始递增的,删除留言不会影响递增顺序。


接下来是请求参数

这里写图片描述
请求参数问题不大,需要注意的是begin这个参数,begin相当于comment数组的索引开始值,所以当begin为0的时候,就会从最新的留言开始获取。count不能>=50,说明一次最多取49条数据。

以上便是请求微信文章留言数据需要注意的了。别的暂时没有发现。


4.修改回复接口

产品写的文档中提到了修改回复这个功能,微信目前并没有提供修改回复的接口,所以我做的就是分开处理,先删除之前的回复,再添加新的回复。这里需要注意一点,如果你在添加新的回复失败后,之前删掉的回复不能回滚,这块需要谨慎处理。


5.总结

微信提供的这个留言文档整体上来说还算详细,但也是遇坑不断。可能会有其他的坑我没发现,以后会慢慢完善。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值