微信小程序获取手机号码 phonenumber.getPhoneNumber 提示47001错误
微信小程序获取客户端手机号码,踩的坑。如下提示:
{"errcode":47001,"errmsg":"data format error hint: [6kMDxSDNRa-hAwqia] rid: 6308d1b5-69935bc9-1d99d19f"}
protected function getPhoneNo($code): string
{
try {
$accessToken = $this->getAccessToken();
if($accessToken) {
//POST https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=ACCESS_TOKEN
$client = new Client();
$url = config('mini.get_phone_number');
$req = $client->post("$url?access_token={$accessToken}", [
'json' => [
'code' => $code
]
]);
var_export($req->getBody()->getContents());
}
} catch (\Throwable | \Exception $e) {
return $e->getMessage();
}
}
这里需要注意的是,post请求时,格式需要用json格式,不能用body格式,即:
正确:
'json' => [
'code' => $code
]
错误:
'form_params' => [
'code' => $code
]