收藏
回答

如何解决"发送订阅消息" 报错 "user refuse to accept the msg"?

/**
 * 发送订阅消息的方法
 * 官方文档:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/mp-message-management/subscribe-message/sendMessage.html
 *
 * @return 返回微信服务器响应结果
 */
public String sendSubscribeMessage(MessageBody data,Long deptId) {
    ChgWxConfig chgWxConfig = wxConfigService.selectChgWxConfigById(deptId);

    // 测试获取accessToken
    String accessToken = getAccessToken(chgWxConfig.getSubAppid(), chgWxConfig.getSecretKey());
    JSONObject jsonObject = JSONObject.parseObject(accessToken);
    String token = jsonObject.get("access_token").toString();

    // 构建请求URL
    String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + token;

    // 将消息体转换为JSON字符串
    String jsonPayload = JSONObject.toJSONString(data);

    try {
        // 发送POST请求并返回结果
        return HttpUtil.post(url, jsonPayload);
    } catch (Exception e) {
        log.error("发送订阅消息出错:{}", e.getMessage());
        return null;
    }

服务器回包是成功:

回答关注问题邀请回答
收藏

3 个回答

  • ⅴ
    03-18

    用户没订阅,或者直接拒绝了

    03-18
    有用
    回复 2
  • sun
    sun
    发表于小程序端
    03-18

    返回这个是用户拒收消息啊。你这测的和返回值无关

    03-18
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    03-18

    没看懂,订阅消息报错跟下面两个截图有啥联系?想问什么

    03-18
    有用
    回复 4
    • 『嘿    boy』
      『嘿 boy』
      03-18
      调发送订阅消息接口,不是需要配置开发者服务器地址吗?
      03-18
      回复
    • Mr.Zhao
      Mr.Zhao
      03-18回复『嘿 boy』
      谁告诉你的?
      03-18
      回复
    • 『嘿    boy』
      『嘿 boy』
      03-18回复Mr.Zhao
      我看调接口一直报错就试了下
      03-18
      回复
    • Mr.Zhao
      Mr.Zhao
      03-18回复『嘿 boy』
      调接口报错,是openid对应的用户没有订阅次数了,跟开发者没关系
      03-18
      回复
登录 后发表内容