微信:“errcode“: 40003,

前言

微信预览消息接口

{
    "errcode": 40003,
    "errmsg": "invalid openid rid: 5fc89b7d-3101615c-4348884d"
}

问题

40003 => 传入非法的openid 这个不合法说的是你提供的OPENID不是当前公众号所持有的。或者是当前用户取消关注,你自然不可以给他发,还有你的接口权限问题,普通用户能不能接收,如此种种,后续有其他原因会补充,欢迎大家评论区讨论,刚才尝试预览多人接收,这touser参数只接收一个参数的openid,写成数组就会报40003

{     
    "touser":["oOQf1t8C6sLRkMAVISOmhqtIjC7Q","oOQf1t8Ebsv17DO2v4Z9LYRtv9H4"],
   "mpnews":{              
     "media_id":"XCRd2iesS4v24lqvDXkusOug8UszvBLVfdr0KeuskYM"               
    },
   "msgtype":"mpnews"
}

正确写法

 {     
    "touser":"oOQf1t8C6sLRkMAVISOmhqtIjC7Q",
   "mpnews":{              
     "media_id":"XCRd2iesS4v24lqvDXkusOug8UszvBLVfdr0KeuskYM"               
    },
   "msgtype":"mpnews"
}
  1. openid不是当前公众号所持有的,其他公众号的openid不通用
  2. 当前用户取消关注,微信后台可以看到用户是否取关
  3. 当前接口此openid无权限
  4. 参数异常

获取用户基本信息(UnionID机制)

在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的。对于不同公众号,同一用户的openid不同)。公众号可通过本接口来根据OpenID获取用户基本信息,包括昵称、头像、性别、所在城市、语言和关注时间。

请注意,如果开发者有在多个公众号,或在公众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(open.weixin.qq.com)绑定公众号后,才可利用UnionID机制来满足上述需求。

UnionID机制说明:

开发者可通过OpenID来获取用户基本信息。特别需要注意的是,如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。

请注意: 20年6月8日起,用户关注来源“微信广告(ADD_SCENE_WECHAT_ADVERTISEMENT)”从“其他(ADD_SCENE_OTHERS)”中拆分给出。
微信公众号关于进一步介绍用户信息API

获取OpenID

如果你有,并且确定是当前公众号的,可能原因就是如上,如果没有正确的openid可以参考我的这篇博客

公众号如何在有限条件下获得粉丝openid?

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值