收藏
回答

openId转换的问题,如果旧的公众号注销了,openId转换的接口是不是不能调用了?

场景:客户迁移公众号操作,然后旧的公众号注销掉了,公众号迁移完成之后,对于openId需要做转换处理,转换到新的公众号,调用openId转换接口http://api.weixin.qq.com/cgi-bin/changeopenid?access_token=xxxxx

在post请求过去之后直接返回 code=500, msg=com.riversoft.weixin.common.exception.WxRuntimeException: Moved Permanently

查看openId转换接口,需要的参数是旧公众号的appId

现在的问题是:是否是因为旧公众号被注销的问题,导致openId转换接口调用异常呢?

客户参考的迁移方式




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

2 个回答

  • 社区技术运营专员-阳光
    社区技术运营专员-阳光
    03-25

    你好,请参考文档:

    https://kf.qq.com/faq/170112VzUNBN170112N7rMZn.html

    03-25
    有用
    回复
  • 升
    03-26

    自己给自己结个帖子。也给后面遇到的朋友们可以借鉴下;

    遇到的问题

    1,一开始一直提示301错误,Moved Permanently,发现是官网上的URL是http的,需要改成https才能够正常调用。

    2,请求的时候,一直提示"errcode":63178,"errmsg":"appid wrong rid: 605c4ce1-1279f77e-3a826739",需要排查的点,请求参数是不是跟官网的不一样。

    {

    "from_appid":"xxxxxxxx",//此处为原帐号的appid

    "openid_list":["oEmYbwN-n24jxvk4Sox81qedINkQ","oEmYbwH9uVd4RKJk7ZZg6S

    zL6tTo"]//需要转换的openid,即第1步中拉取的原帐号用户列表,这些必须是旧账号目前关注的才行,否则会出错;一次最多100个,不能多。

    }

    楼主因为少了字符串和多了转义符,就是"form_appid":xxxx 少了字符串,"openid_list":[\"oEmYbwN-n24jxvk4Sox81qedINkQ"\] 多了转义符。

    这里楼主遇到一个{"errcode":47001,"errmsg":"data format error rid: xxx }和 {"errcode":63178,"errmsg":"appid wrong rid},格式转换错误和appid失效。这里就很是奇葩。

    格式转换错误提示是没问题的,能够很清楚的分辨出是参数传递错误了;但是,有问题的是 {"errcode":63178,"errmsg":"appid wrong rid}

    看了官网,63178的注释是说:from_appid参数错误,和调用的账号并没有迁移关系,所以误导了楼主的思路,一直以为参数没有问题了,总结:网可信但是要报有怀疑态度,不然就会跟楼主一样给误导了好久。

    要注意:63178应该不止官网说的那一层意思,有可能参数写错也会报。而47001就是你传递的参数不是微信那边能够转换的,所以就会提示data format error。

    总结下来:http要换成https;请求参数要仔细仔细再仔细看看是不是跟官网一样,不要少字符串多转义符这种跟楼主犯的错误一样。

    03-26
    有用
    回复
登录 后发表内容
问题标签