洛塔服务号回复009获取代码。
功能说明管理后台左侧,内容与互动–>自动回复,可以设置对应的自动回复规则,一共有三种:
- 关键词回复:可以是全匹配或者半匹配,各种类型素材均可回复。本人测试公众号仅回复了文本
- 收到消息回复:如果关键词回复没有匹配的,则会回复这里配置的内容。如果关键词的有匹配,这个不会回复。
- 被关注回复:每次关注公众号的时候发送的消息。 要使这里的自动回复生效,就不能开启基本配置中的服务器配置。开启了服务器配置,可以使用代码实现自动回复,但这种的本篇下面接口调用的获取不到。 公众号自行开发实现自动回复,或通过第三方平台开发者来实现,则无法获取
- 公众号后台设置ip白名单 位置:设置与开发–>基本配置,右侧IP白名单
整体实现是之前篇章的没有不同,算是比较简单的了。
package com.lootaa.wechat;
import org.jsoup.Connection.Method;
import org.jsoup.Jsoup;
import com.alibaba.fastjson.JSON;
/**
* 获取公众号的自动回复规则
* 前置条件:公众号后台设置ip白名单
*/
public class Test009 {
public static final String APPID = "wx276049d6a7551dca";
public static final String SECRET = "cbe109fdf6f399bd72ed3a4afafa21b1";
/**
* 完整项目源码可关注公众号"lootaayun"(洛塔),回复009获取
*/
public static void main(String[] args) throws Exception {
// 先获取access_token,这部分正式环境需要配置定时获取,每天2000次调用限制
String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + APPID + "&secret=" + SECRET;
String result = Jsoup.connect(url).ignoreContentType(true).method(Method.GET).execute().body();
System.out.println(result);
String accessToken = JSON.parseObject(result).getString("access_token");
// 获取公众号的自动回复规则
url = "https://api.weixin.qq.com/cgi-bin/get_current_autoreply_info?access_token=" + accessToken;
result = Jsoup.connect(url).ignoreContentType(true).method(Method.POST)
.timeout(60000).execute().body();
System.out.println(result);
}
}
测试响应结果(本人测试公众号仅返回了文本):
{
"is_add_friend_reply_open":1,
"is_autoreply_open":1,
"add_friend_autoreply_info":{
"type":"text",
"content":"欢迎关注洛塔,技术交流可加微信fymod1988。北京上海技术岗位自荐亦可~"
},
"message_default_autoreply_info":{
"type":"text",
"content":"已收到消息~"
},
"keyword_autoreply_info":{
"list":[
{
"rule_name":"服务号开发008",
"create_time":1664704447,
"reply_mode":"reply_all",
"keyword_list_info":[
{
"type":"text",
"match\_mode":"equal",
"content":"008"
}
],
"reply_list_info":[
{
"type":"text",
"content":"链接: https://pan.baidu.com/s/1kMu-fvyhIdntUWaiQ9Yv3w?pwd=k5jj 提取码: k5jj"
}
]
},
{
"rule_name":"服务号开发007",
"create_time":1664440333,
"reply_mode":"reply_all",
"keyword_list_info":[
{
"type":"text",
"match_mode":"equal",
"content":"007"
}
],
"reply_list_info":[
{
"type":"text",
"content":"链接: https://pan.baidu.com/s/1LYuAQxhOJiAC7jf7Db7r8w?pwd=hogl 提取码: hogl"
}
]
}
]
}
}
因为测试的返回素材类型不完整,复制了官网各个字段的含义,供参考:
参数说明is_add_friend_reply_open关注后自动回复是否开启,0代表未开启,1代表开启is_autoreply_open消息自动回复是否开启,0代表未开启,1代表开启add_friend_autoreply_info关注后自动回复的信息type自动回复的类型。关注后自动回复和消息自动回复的类型仅支持文本(text)、图片(img)、语音(voice)、视频(video),关键词自动回复则还多了图文消息(news)content对于文本类型,content是文本内容,对于图文、图片、语音、视频类型,content是mediaIDmessage_default_autoreply_info消息自动回复的信息keyword_autoreply_info关键词自动回复的信息rule_name规则名称create_time创建时间reply_mode回复模式,reply_all代表全部回复,random_one代表随机回复其中一条keyword_list_info匹配的关键词列表match_mode匹配模式,contain代表消息中含有该关键词即可,equal表示消息内容必须和关键词严格相同news_info图文消息的信息title图文消息的标题digest摘要author作者show_cover是否显示封面,0为不显示,1为显示cover_url封面图片的URLcontent_url正文的URLsource_url原文的URL,若置空则无查看原文入口