问题复现
这个问题,是我在操作:给微信公众平台上添加图文到草稿箱时,遇到的。
报错信息如下:
{"errcode":88000,"errmsg":"without comment privilege hint: [7oJ0533w689] rid: 630432cd-15944cf6-083e04fc"}
经过查找,发现原来是服务(公众)号留言功能惹的祸。
原来的服务(公众)号,只要注册就有留言功能,但是自从2018年2月12日起,该功能就被关掉了,据说有些账号后期慢慢的也开了,不太清楚。
我们的服务号,是在这个时间后注册的,所以早就没有了,那我们在代码里面设置该功能创建草稿的时候,就报错了。
原来代码如下:
@GetMapping("/saveDrafts")
public String saveDrafts() {
WxMpAddDraft wxMpAddDraft = new WxMpAddDraft();
List<WxMpDraftArticles> wxMpDraftArticlesList = new ArrayList<>();
WxMpDraftArticles articles = new WxMpDraftArticles();
articles.setTitle("这是标题");
articles.setAuthor("这是作者");
articles.setDigest("图文消息的摘要,仅有单图文消息才有摘要,多图文此处为空。如果本字段为没有填写,则默认抓取正文前54个字。");
articles.setContent("图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS,涉及图片url必须来源 \"上传图" +
"文消息内的图片获取URL\"接口获取。外部图片url将被过滤。<br/> 欢迎来到<b>穆雄雄的博客</b>啊。<a href='http://www.muxiongxiong.cn'>点击这里</a>");
//这是原文地址
articles.setContentSourceUrl("https://blog.csdn.net/qq_34137397");
//图文消息的封面id,这个id必须要有,临时素材和永久素材的都可以
articles.setThumbMediaId("8PWg");
//是否显示封面,0为false,即不显示,1为true,即显示(默认)
articles.setShowCoverPic(0);
//是否打开评论,0不打开(默认),1打开
articles.setNeedOpenComment(1);
//是否粉丝才可评论,0所有人可评论(默认),1粉丝才可评论
articles.setOnlyFansCanComment(0);
//草稿的临时链接,点击图文消息跳转链接
articles.setUrl("https://blog.csdn.net/qq_34137397");
//图文消息的封面url
articles.setThumbUrl("https://ucc.alicdn.com/images/user-upload-01/6aeb54b426bc492e880aba5564a2a591.png");
wxMpDraftArticlesList.add(articles);
//添加图文消息进去
wxMpAddDraft.setArticles(wxMpDraftArticlesList);
//调用添加的方法?
WxMpAddDraft draftFromat = WxMpAddDraft.fromJson(wxMpAddDraft.toJson());
//调用添加的方法
String media_id = "";
try {
media_id = wxMpDraftService.addDraft(draftFromat);
} catch (WxErrorException e) {
e.printStackTrace();
}
return media_id;
}
注意这行代码:articles.setNeedOpenComment(1);
参数需要改成0,问题就解决了。