调用微信公众号高级接口,注意检查http header

今天调用创建分组接口,返回错误码总是40051,相当郁闷

我用的是urllib,调用的代码是:

var url = "https://api.weixin.qq.com/cgi-bin/groups/create?access_token=" + access_token;

    var options = {
        method: "POST",
        dataType: "json",
        data: {
            group: {
                name: name
            }
        }
    };

    urllib.request(url, options, function(err, body, resp){
        // 省略
    });

根据urllib文档的说法,参数中的data,会被自动处理成string(content覆盖data,stream覆盖content),但是微信的服务器就是不认这个JSON串

最后发现,是因为http header没有设置,需要增加:

headers: {
            'Content-Type': 'application/json'
        },

调试微信公众号的接口,还是蛮痛苦的。因为server端的代码和日志都没有,只有错误码,基本都是边猜边试,这种时候本地的http proxy就很关键了,我推荐charles和fiddler2都是很不错的

你可能感兴趣的:(http,proxy,微信公众号,Charles,40051,创建分组)