自己给自己结个帖子。也给后面遇到的朋友们可以借鉴下;
遇到的问题
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;请求参数要仔细仔细再仔细看看是不是跟官网一样,不要少字符串多转义符这种跟楼主犯的错误一样。