- 疑难杂症!微信公众号里的的所有链接包括二维码,用户打开后都提示:打开外部网站风险提示!怎么办?
[图片] 公众号id:gh_a27369326285 http://www.695rhdd.cn/app/index.php?i=1&c=entry&do=new_index&m=dg_articlemanage想求助下大佬,在本公众号打开会提示外部网站风险提示,但是在微信客户端打开就可以随便进去。
2021-05-10 - 已认证微信公众号底部菜单跳转外链提示打开外部网站风险提示如何申诉?
问题公众号:民商共享 公众号是认证的,域名是备案的。业务域名 js安全接口域名都添加了,自2021年5月13日下午18:36分发现该提示。通过底部菜单打开任意非微信官方链接就提示。关键词回复带二维码海报识别提示,创建图文素材,原文链接也提示 正文中超链接、海报二维码可正常打开 [图片]
2021-05-14 - 微信客服自动回复图片?
在调试微信客服自动回复图片时,所有都是按照文档要求开发,但是无法自动回复 首先:自动回复配置如下: [图片] 第二:验证加密(通过): [代码]boolean[代码] [代码]isGet = request.getMethod().toLowerCase().equals([代码][代码]"get"[代码][代码]);[代码][代码] [代码][代码]if[代码] [代码](isGet) {[代码][代码] [代码][代码]// 微信加密签名[代码][代码] [代码][代码]String signature = request.getParameter([代码][代码]"signature"[代码][代码]);[代码][代码] [代码][代码]// 时间戳[代码][代码] [代码][代码]String timestamp = request.getParameter([代码][代码]"timestamp"[代码][代码]);[代码][代码] [代码][代码]// 随机数[代码][代码] [代码][代码]String nonce = request.getParameter([代码][代码]"nonce"[代码][代码]);[代码][代码] [代码][代码]// 随机字符串[代码][代码] [代码][代码]String echostr = request.getParameter([代码][代码]"echostr"[代码][代码]);[代码] [代码] [代码][代码]// 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败[代码][代码] [代码][代码]if[代码] [代码](signature != [代码][代码]null[代码] [代码]&& WeChatUtil.checkSignature(signature, timestamp, nonce)) {[代码][代码] [代码][代码]logger.debug([代码][代码]"signature == "[代码] [代码]+ signature);[代码][代码] [代码][代码]try[代码] [代码]{[代码][代码] [代码][代码]PrintWriter print = response.getWriter();[代码][代码] [代码][代码]print.write(echostr);[代码][代码] [代码][代码]print.flush();[代码][代码] [代码][代码]} [代码][代码]catch[代码] [代码](IOException e) {[代码][代码] [代码][代码]logger.error([代码][代码]"微信消息接收和token验证异常"[代码][代码], e);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码]第三:自动回复 自动回复先上传临时素材到回信服务,并获取mediaId [代码]//先上传临时素材到微信服务[代码] [代码] [代码][代码]String mediaId = uploadFileToWeChat(WeChatUtil.REQ_MESSAGE_TYPE_IMAGE);[代码] [代码] [代码][代码]/**[代码][代码] [代码][代码]* 上传图片到微信服务[代码][代码] [代码][代码]*[代码][代码] [代码][代码]* @param[代码][代码] [代码][代码]* @return[代码][代码] [代码][代码]*/[代码][代码] [代码][代码]@Override[代码][代码] [代码][代码]public[代码] [代码]String uploadFileToWeChat(String type) {[代码][代码] [代码][代码]String accessToken = weiXinToken.getAccessToken();[代码][代码] [代码][代码]System.out.println([代码][代码]"token == "[代码] [代码]+ accessToken);[代码][代码] [代码][代码]RestTemplate restTemplate = [代码][代码]new[代码] [代码]RestTemplate();[代码][代码] [代码][代码]HttpHeaders headers = [代码][代码]new[代码] [代码]HttpHeaders();[代码][代码] [代码][代码]headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);[代码][代码] [代码][代码]File file = [代码][代码]new[代码] [代码]File(IMAGE_PATH);[代码][代码] [代码][代码]if[代码] [代码](!file.exists() || !file.isFile()) {[代码][代码] [代码][代码]return[代码] [代码]null[代码][代码];[代码][代码] [代码][代码]}[代码][代码] [代码][代码]StringBuilder sb = [代码][代码]new[代码] [代码]StringBuilder();[代码][代码] [代码][代码]sb.append(weixinImageUpload)[代码][代码] [代码][代码].append([代码][代码]"access_token="[代码][代码])[代码][代码] [代码][代码].append(accessToken)[代码][代码] [代码][代码].append([代码][代码]"&type="[代码][代码])[代码][代码] [代码][代码].append(type);[代码] [代码] [代码][代码]String mediaId = WeChatUtil.httpRequest(sb.toString(), file);[代码] [代码] [代码][代码]return[代码] [代码]mediaId;[代码][代码] [代码][代码]}[代码] 获取到mediaId后,然后自动回复开发 [代码]/**[代码][代码] [代码][代码]* 此处自动回复文本[代码][代码] [代码][代码]*/[代码][代码] [代码][代码]TextMessageResponseVo textMessageResponseVo = [代码][代码]new[代码] [代码]TextMessageResponseVo();[代码][代码] [代码][代码]textMessageResponseVo.setFromUserName(requestMessageMap.get([代码][代码]"ToUserName"[代码][代码]));[代码][代码] [代码][代码]textMessageResponseVo.setToUserName(requestMessageMap.get([代码][代码]"FromUserName"[代码][代码]));[代码][代码] [代码][代码]textMessageResponseVo.setMsgType([代码][代码]"text"[代码][代码]);[代码][代码] [代码][代码]textMessageResponseVo.setCreateTime(System.currentTimeMillis() / [代码][代码]1000[代码][代码]);[代码][代码] [代码][代码]textMessageResponseVo.setContent([代码][代码]"你好"[代码][代码]);[代码] [代码] [代码][代码]/**[代码][代码] [代码][代码]* 此处自动回复图片[代码][代码] [代码][代码]*/[代码][代码] [代码][代码]ImageMessageResponseVo imageMessageResponseVo = [代码][代码]new[代码] [代码]ImageMessageResponseVo();[代码][代码] [代码][代码]imageMessageResponseVo.setFromUserName(requestMessageMap.get([代码][代码]"FromUserName"[代码][代码]));[代码][代码] [代码][代码]imageMessageResponseVo.setToUserName(requestMessageMap.get([代码][代码]"ToUserName"[代码][代码]));[代码][代码] [代码][代码]imageMessageResponseVo.setMsgType([代码][代码]"image"[代码][代码]);[代码][代码] [代码][代码]imageMessageResponseVo.setCreateTime(System.currentTimeMillis() / [代码][代码]1000[代码][代码]);[代码][代码] [代码][代码]AutoAnswer autoAnswer = [代码][代码]new[代码] [代码]AutoAnswer();[代码][代码] [代码][代码]autoAnswer.setMediaId(mediaId);[代码][代码] [代码][代码]imageMessageResponseVo.setImage(autoAnswer);[代码][代码] [代码][代码]System.out.println([代码][代码]"textMessageResponseVo>>>>>>>>"[代码][代码]+imageMessageResponseVo.toString());[代码][代码] [代码][代码]String result = WeChatUtil.messageToXml(textMessageResponseVo);[代码][代码] [代码][代码]System.out.println([代码][代码]"result XML CDATA +++++++++++++++++++++++++"[代码] [代码]+ result);[代码][代码] [代码][代码]return[代码] [代码]result;[代码] [代码] [代码][代码]/**[代码][代码] [代码][代码]* 文本消息转换成xml[代码][代码] [代码][代码]*/[代码][代码] [代码][代码]public[代码] [代码]static[代码] [代码]String messageToXml(TextMessageResponseVo textMessageResponseVo) {[代码][代码] [代码][代码]xstream.alias([代码][代码]"xml"[代码][代码], textMessageResponseVo.getClass());[代码][代码] [代码][代码]return[代码] [代码]xstream.toXML(textMessageResponseVo);[代码] [代码] [代码][代码]}[代码] [代码] [代码][代码]/**[代码][代码] [代码][代码]* 图片[代码][代码] [代码][代码]* @param imageMessageResponseVo[代码][代码] [代码][代码]* @return[代码][代码] [代码][代码]*/[代码][代码] [代码][代码]public[代码] [代码]static[代码] [代码]String messageToXml(ImageMessageResponseVo imageMessageResponseVo) {[代码][代码] [代码][代码]xstream.alias([代码][代码]"xml"[代码][代码], imageMessageResponseVo.getClass());[代码][代码] [代码][代码]return[代码] [代码]xstream.toXML(imageMessageResponseVo);[代码] [代码] [代码][代码]}[代码] [代码] [代码][代码]/**[代码][代码] [代码][代码]* 扩展xstream使其支持CDATA[代码][代码] [代码][代码]*/[代码][代码] [代码][代码]private[代码] [代码]static[代码] [代码]XStream xstream = [代码][代码]new[代码] [代码]XStream([代码][代码]new[代码] [代码]XppDriver() {[代码][代码] [代码][代码]@Override[代码][代码] [代码][代码]public[代码] [代码]HierarchicalStreamWriter createWriter(Writer out) {[代码][代码] [代码][代码]return[代码] [代码]new[代码] [代码]PrettyPrintWriter(out) {[代码][代码] [代码][代码]// 对所有xml节点的转换都增加CDATA标记[代码][代码] [代码][代码]boolean[代码] [代码]cdata = [代码][代码]true[代码][代码];[代码] [代码] [代码][代码]@Override[代码][代码] [代码][代码]@SuppressWarnings[代码][代码]([代码][代码]"unchecked"[代码][代码])[代码][代码] [代码][代码]public[代码] [代码]void[代码] [代码]startNode(String name, Class clazz) {[代码][代码] [代码][代码]super[代码][代码].startNode(name, clazz);[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]@Override[代码][代码] [代码][代码]protected[代码] [代码]void[代码] [代码]writeText(QuickWriter writer, String text) {[代码][代码] [代码][代码]if[代码] [代码](cdata) {[代码][代码] [代码][代码]writer.write([代码][代码]"<![CDATA["[代码][代码]);[代码][代码] [代码][代码]writer.write(text);[代码][代码] [代码][代码]writer.write([代码][代码]"]]>"[代码][代码]);[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]writer.write(text);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]};[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码] 最后,响应微信服务的是一串String的xml [代码]//文本响应微信的xml[代码][代码]<xml>[代码][代码] [代码][代码]<ToUserName><![CDATA[onv1V4-zyxgliQlXbaBujrNT-ycs]]></ToUserName>[代码][代码] [代码][代码]<FromUserName><![CDATA[gh_dc0815388d0f]]></FromUserName>[代码][代码] [代码][代码]<CreateTime><![CDATA[[代码][代码]1570614951[代码][代码]]]></CreateTime>[代码][代码] [代码][代码]<MsgType><![CDATA[text]]></MsgType>[代码][代码] [代码][代码]<Content><![CDATA[你好]]></Content>[代码][代码]</xml>[代码][代码] [代码] [代码] [代码] [代码]//图片响应微信的xml[代码][代码] [代码] [代码]<xml>[代码] [代码] [代码][代码]<ToUserName><![CDATA[onv1V4-zyxgliQlXbaBujrNT-ycs]]></ToUserName>[代码] [代码] [代码][代码]<FromUserName><![CDATA[gh_dc0815388d0f]]></FromUserName>[代码] [代码] [代码][代码]<CreateTime><![CDATA[[代码][代码]1570670451[代码][代码]]]></CreateTime>[代码] [代码] [代码][代码]<MsgType><![CDATA[image]]></MsgType>[代码] [代码] [代码][代码]<Image>[代码] [代码] [代码][代码]<MediaId><![CDATA[ukM01FczEHwYUthTQ_Sf_6XNgI1_2lScqCFuIWOs8zQ8CGp0kgH98SS8B4SxdznU]]></MediaId>[代码] [代码] [代码][代码]</Image>[代码] [代码]</xml>[代码] [代码][代码] 但是最后没有收到微信自动回复,请求各位大佬指教 ;
2019-10-10 - 如何开通自动回复功能
https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html "自动回复 该功能已通过申请,可正常使用 " “你已授权给腾讯微卡、秀米、博看微服务帮助你运营公众号,点击管理 已授权的第三方平台" "由于在开发者中心开启了回调URL和Token,当前自动回复设置已失效。你可以前往开发者中心进行停用。" 需要停用服务器吗?
2021-01-19 - 如何在开发者中心设置回调URL和token?
自动回复被关注回复,现在无法更改,应该如何设置?
2021-06-19 - 想设置自动回复但是显示开启了回调URL和Token,请问进开发者中心进行停用设置好回复后还能启用吗?
本人it小白,微信公众号是之前公司找的外包公司弄的,现在合作结束了那边不管了。我想改自动回复显示由于在开发者中心开启了回调URL和Token,当前自动回复设置已失效。你可以前往开发者中心进行停用。请教各位大神这个停用后还能启用吗?启用后和之前一样吗?需不需要记下之前的配置?因为之前的外包公司留下了一个网站里边是修改自定义菜单的内容了那些还想留着,我怕为了改自动回复停用了开发中心那些就用不了了。
2020-03-20 - 微信公众号模板消息接口获取列表获取模板编号
https://api.weixin.qq.com/cgi-bin/template/get_all_private_template?access_token=ACCESS_TOKEN,获取不到模板编号吗?
2021-03-13 - 关于香港服务器无法备案
请求一下有谁遇到过使用阿里云香港服务器,但是海外不需要备案,但是小程序中需要域名进行备案,怎么解决!
2018-11-24 - 香港的服务器,没有经过ICP备案,请问是否可以添加到小程序的校验域名里面?如果可以。是否长期有效?
为什么这么问,是因为我们的测试环境已经添加成功了没有备案的ICP 域名。所以请官方帮忙回复一下.谢谢
2020-11-03 - 企业认证的服务号开发,是否可以使用个人备案的域名?
如题。
2021-09-17