本人新手,刚转行ios工作2个月,请各位大神多多关照!
我现在做一个ios版本的微信公众号第三方管理工具app,可以设置自动回复,自定义菜单等,现在在做自定义菜单(自定义的菜单有4种类型,包括图片语音,视频,还有跳转网页),利用浏览器抓包官网的接口,在设置图片,视频,语音都没有问题,但是跳转网页老是返回错误代码105, {"base_resp":{"ret":105,"err_msg":""}}
我觉得可能是参数里有URL的原因,不知道有没有大神能帮忙解答下,万分感激
POST请求参数如下,这是设置url的,button_list是一个字典,存了菜单信息,包括名字,类型,act_list是菜单跳转的设置,包括跳转的网页名字,跳转的链接
    NSString *bodyStr=[NSString stringWithFormat:@"token=%@&lang=zh_CN&f=json&ajax=1&random=%f&info={\"version\":478888658,\"name\":\"test menu\",\"button_list\":[{\"name\":\"123\",\"type\":2,\"act_list\":[{\"type\":6,\"value\":http://mp.weixin.qq.com/s?__biz= ... 87a#wechat_redirect,\"name\":\"已发送\",\"title\":\"图文tuwen\"}]}]}&Version=478888658",[HP_Application sharedApplication].loginDataObj.login_token,[Tools GetRandom]];
如果是语音的话就没问题,POST请求参数如下,act_list只有语音类型,语音文件的id,跟跳转url的区别就是没有url,还有name.title
    NSString *bodyStr=[NSString stringWithFormat:@"token=%@&lang=zh_CN&f=json&ajax=1&random=%f&info={\"version\":478888658,\"name\":\"test menu\",\"button_list\":[{\"name\":\"123\",\"type\":1,\"act_list\":[{\"type\":3,\"value\":100006]}]}&Version=478888658",[HP_Application sharedApplication].loginDataObj.login_token,[Tools GetRandom]];
不知道我的问题描述清楚了没?如果有大神能解答的话,不胜感激!!!

解决方案 »

  1.   

    正确响应应该是:{"base_resp":{"ret":0,"err_msg":"ok"},
      

  2.   

    我猜想是不是微信有类似socket的心跳机制来响应..这样试试才知道
      

  3.   

    流程可以看看这个 http://www.cnblogs.com/webfans/p/4360150.html
      

  4.   

    忘记更新了,问题解决了,应该是参数的格式问题,把参数中的ur取出来进行了一下编码,再拼接回去就好了l