官方的文档是用post请求然后传4个参数,但是那个POSTBODY到底是传什么,官方文档也没说明,我没传POSTBODY报的-501007错误;
请问各位有没有通过php调用http api的案例借我参考一下;
//获取接口凭证access_token $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$secret}" ; $json_str = file_get_contents ( $url ); $aTest = json_decode( $json_str , true); print_format_r( $aTest ); //http api 触发云函数 $access_token = $aTest [ 'access_token' ]; $env = 'qr-cs8dp' ; $name = 'test' ; $curl = curl_init(); // 使用curl_setopt()设置要获取的URL地址 $url2 = "https://api.weixin.qq.com/tcb/invokecloudfunction?access_token={$access_token}&env={$env}&name={$name}" ; curl_setopt( $curl , CURLOPT_URL, $url2 ); // 设置是否输出header curl_setopt( $curl , CURLOPT_HEADER, false); // 设置是否输出结果 curl_setopt( $curl , CURLOPT_RETURNTRANSFER, 1); // 设置是否检查服务器端的证书 curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER, false); // 使用curl_exec()将CURL返回的结果转换成正常数据并保存到一个变量 $data = curl_exec( $curl ); // 使用 curl_close() 关闭CURL会话 curl_close( $curl ); $data = json_decode( $data ); $data = get_object_vars( $data ); print_format_r( $data ); |
所以是哪里的问题,可以解释下吗,我也碰到这个问题了
找到原因了....post函数参数需要自己手动json_encode转json
成功了吗?我一直是48001
参考下:【HTTP API】C#发送POST请求时报错-501007
https://developers.weixin.qq.com/community/develop/doc/00000e8ed047701f40d81a4a951c00
https://developers.weixin.qq.com/community/search?query=501007&page=1&block=1&random=1565163389379