我正在使用overtrue/wechat开发一个微信项目。
使用overtrue/wechat batchget API开发时,
我的代码:
$usersInfo = array();
$usersInfo = $userService->batchGet($usingOpenids);
它返回错误:
User.php 第 103 行中的 ErrorException :
Illegal string offset 'user_info_list'.
我检查了一些回复,然后我发现了一些未知字符,如下图(用 sublime 打开)。但是其他回答是正确的。
下面是微信batchGet API,overtrue/wechat的batchget函数旨在做以下事情:
HTTP POST: https ://api.weixin.qq.com/cgi-bin/user/info/batchget?access_token=ACCESS_TOKEN
发布数据:
{
"user_list": [
{
"openid": "otvxTs4dckWG7imySrJd6jSi0CWE",
"lang": "zh-CN"
},
{
"openid": "otvxTs_JZ6SEiP0imdhpi50fuSZg",
"lang": "zh-CN"
}
]
}
响应数据:
{
"user_info_list": [
{
"subscribe": 1,
"openid": "otvxTs4dckWG7imySrJd6jSi0CWE",
"nickname": "iWithery",
"sex": 1,
"language": "zh_CN",
"city": "Jieyang",
"province": "Guangdong",
"country": "China",
"headimgurl": "http://wx.qlogo.cn/mmopen/xbIQx1GRqdvyqkMMhEaGOX802l1CyqMJNgUzKP8MeAeHFicRDSnZH7FY4XB7p8XHXIf6uJA2SCunTPicGKezDC4saKISzRj3nz/0",
"subscribe_time": 1434093047,
"unionid": "oR5GjjgEhCMJFyzaVZdrxZ2zRRF4",
"remark": "",
"groupid": 0
},
{
"subscribe": 0,
"openid": "otvxTs_JZ6SEiP0imdhpi50fuSZg",
"unionid": "oR5GjjjrbqBZbrnPwwmSxFukE41U",
}
]
}
那么我该怎么做才能避免这个错误呢?我想问题可能出在Http.php 第 116 行。也许我可以在这里传输格式?但我不知道怎么做。
$contents = json_decode($response['data'], true);
PS:对不起,有些文档是中文的...