收藏
回答

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 个回答

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

    你好,请参考文档:

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

    2021-03-25
    有用
    回复 1
    • _Dandelion
      _Dandelion
      2021-08-05
      Array
      (
          [errcode] => 0
          [errmsg] => ok
          [result_list] => Array
              (
                  [0] => Array
                      (
                          [ori_openid] => ["oR5lb1d-B2w7FfQ_GtjE_OweMKZo","oR5lb1cG4xbeJR1LkjMVtb_sSESE"]
                          [err_msg] => ori_openid error
                      )
              )
      )
      这个是我们开发自己的微信openid 做迁移openid转换,提示没有关注旧的公众号
      2021-08-05
      回复
  • 升
    2021-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;请求参数要仔细仔细再仔细看看是不是跟官网一样,不要少字符串多转义符这种跟楼主犯的错误一样。

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