全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

百度小程序怎么通过PHP接收数据_PHP对接百度接口接收方法【操作】

百度小程序对接PHP需注意三点:JSON请求体需用php://input读取而非$_POST;文件上传须配置合法域名且用swan.uploadFile;swan.login的code换session_key必须HTTPS GET调用百度开放平台接口。

百度小程序的 swan.request 默认发送的是 JSON 数据,PHP 需主动读取原始 body

百度小程序调用 swan.request 时,若未显式设置 header['Content-Type'],默认会以 application/json 发送。此时 PHP 不会自动解析到 $_POST,必须用 file_get_contents('php://input') 手动读取原始请求体。

  • 直接访问 $_POST 会为空数组,这是最常见踩坑点
  • 如果前端设置了 header: {'Content-Type': 'application/x-www-form-urlencoded'},PHP 才会填充 $_POST
  • 推荐统一走 JSON 路线,语义清晰、支持嵌套结构,后端解析也更可控
if ($_SERVER['CONTENT_TYPE'] === 'application/json') {
    $raw = file_get_contents('php://input');
    $data = json_decode($raw, true);
    if (json_last_error() !== JSON_ERROR_NONE) {
        http_response_code(400);
        echo json_encode(['error' => 'Invalid JSON']);
        exit;
    }
} else {
    $data = $_POST;
}

百度小程序调用需携带 swan.getSystemInfo 中的 platformversion 字段做基础校验

虽然百度未强制要求接口鉴权,但生产环境建议对请求来源做轻量识别,避免被恶意模拟。可从 swan.getSystemInfo 获取设备信息,随请求一起传入,PHP 端简单校验是否为合法的小程序平台。

  • 前端示例:swan.getSystemInfo({success: res => swan.request({data: {...res, ...myData}})})
  • PHP 中检查 $data['platform'] === 'swan',并可选校验 $data['version'] 是否符合最低支持版本
  • 注意:不要依赖 userAgent 做判断,百度小程序 WebView 的 UA 可能被覆盖或不可靠

接收文件上传要用 swan.uploadFile,PHP 处理逻辑和普通表单一致,但路径需适配百度域名白名单

百度小程序上传文件必须使用 swan.uploadFile,且目标 URL 必须在百度后台配置的「request 合法域名」和「uploadFile 合法域名」中,否则前端直接报错 fail abortfail url not in domain list

  • PHP 接收时,文件信息在 $_FILES 中,和普通 HTML 表单无异
  • 务必检查 $_FILES['file']['error'] === UPLOAD_ERR_OK,再处理临时文件
  • 百度小程序不支持多文件同 key 上传(如 name="file[]"),一次只能传一个 filePath
$file = $_FILES['file'] ?? null;
if (!$file || $file['error'] !== UPLOAD_ERR_OK) {
    http_response_code(400);
    echo json_encode(['error' => 'Upload failed']);
    exit;
}
$ext = pathinfo($file['name'], PATHINFO_EXTENSION);
$target = '/path/to/upload/' . uniqid() . '.' . strtolower($ext);
if (move_uploaded_file($file['tmp_name'], $target)) {
    echo json_encode(['url' => 'https://yourdomain.com/' . basename($target)]);
}

百度小程序的 swan.login code 换取 session_key 需调用百度开放平台接口,PHP 必须用 https + GET 请求

前端调用 swan.login 获取 code 后,需由 PHP 向百度开放平台发起请求换取用户凭证,地址是 https://openapi.baidu.com/rest/2.0/smartapp/user/login,参数必须用 GET 传,不能 POST。

  • 必填参数:codegrant_type=authorization_codeclient_id(即百度小程序 AppKey)、client_secret
  • 返回 JSON 包含 session_keyopenid,可用于后续解密手机号等敏感数据
  • 百度该接口不支持 HTTP,强制 HTTPS;且不接受 Content-Type: application/json,只认 query string
$url = 'https://openapi.baidu.com/rest/2.0/smartapp/user/login?' . http_build_query([
    'code' => $code,
    'grant_type' => 'authorization_code',
    'client_id' => 'your_app_key',
    'client_secret' => 'your_app_secret'
]);
$response = file_get_contents($url);
$result = json_decode($response, true);
百度小程序对接 PHP 的关键不在“怎么写”,而在于清楚每个环节的数据流向和协议约束——尤其是 JSON 请求体不进 $_POST、文件上传域名白名单、登录换 token 必须 GET 这三点,漏掉任一都卡死在第一步。


# php  # html  # js  # 前端  # json  # app  # 小程序  # session  # 后端  # ai  # 百度  # 敏感数据  # String  # Error  # Token  # 接口  # input  # webview  # http  # https  # 开放平台  # 文件上传  # 不支持  # 表单  # 的是  # 这是  # 尤其是  # 才会  # 要用  # 可选  # 三点 


相关文章: 如何快速登录WAP自助建站平台?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  再谈Python中的字符串与字符编码(推荐)  网站制作模板下载什么软件,ppt模板免费下载网站?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  如何选择香港主机高效搭建外贸独立站?  建站之星如何配置系统实现高效建站?  开心动漫网站制作软件下载,十分开心动画为何停播?  如何通过山东自助建站平台快速注册域名?  c# 在高并发下使用反射发射(Reflection.Emit)的性能  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  微信推文制作网站有哪些,怎么做微信推文,急?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  如何用wdcp快速搭建高效网站?  如何在万网ECS上快速搭建专属网站?  制作表格网站有哪些,线上表格怎么弄?  如何通过IIS搭建网站并配置访问权限?  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  建站之星微信建站一键生成小程序+多端营销系统  ,石家庄四十八中学官网?  高防服务器租用如何选择配置与防御等级?  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  网站代码制作软件有哪些,如何生成自己网站的代码?  孙琪峥织梦建站教程如何优化数据库安全?  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  高防服务器租用首荐平台,企业级优惠套餐快速部署  网站制作难吗安全吗,做一个网站需要多久时间?  在线制作视频的网站有哪些,电脑如何制作视频短片?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  如何用5美元大硬盘VPS安全高效搭建个人网站?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  山东网站制作公司有哪些,山东大源集团官网?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  C++如何编写函数模板?(泛型编程入门)  自助网站制作软件,个人如何自助建网站?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  建站之星在线版空间:自助建站+智能模板一键生成方案  常州自助建站费用包含哪些项目?  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  建站之星后台密码如何安全设置与找回?  制作网站的公司有哪些,做一个公司网站要多少钱?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。