PHP调用百度天气接口:从申请AK到代码实现
在Web开发中展示实时天气信息是一个常见需求。本文将讲解如何使用PHP语言调用百度地图开放平台的旧版Telematics V3天气接口,获取指定城市的未来几天天气状况。
结果或目标
成功获取指定城市(如"嘉兴")的未来4天天气预报数据,并打印出包含日期、天气现象、风向风力及温度等信息的结构化数组。
准备条件
- 获取API Key (AK):访问百度地图开放平台控制台,注册成为开发者并创建应用以获取服务密钥(AK)。
- 了解接口参数:本示例使用的接口版本为
v3,主要参数包括:location:城市名称,注意需要进行URL编码。output:返回格式,设置为json便于PHP处理。ak:您的私有API Key。
操作顺序
第1步:构造请求URL
将目标城市名称转换为URL编码格式,替换URL中的占位符。例如,城市“嘉兴”编码为 %E5%98%89%E5%85%B4。
$city = "嘉兴";
// 实际使用时,请替换 'YOUR_API_KEY' 为您申请的真实AK
$ak = "YOUR_API_KEY";
$url = sprintf(
"http://api.map.baidu.com/telematics/v3/weather?location=%s&output=json&ak=%s",
urlencode($city),
$ak
);
第2步:发起HTTP请求
使用PHP内置函数 file_get_contents 发送GET请求并接收原始JSON字符串。
$content = file_get_contents($url);
第3步:解析并输出结果
将JSON字符串解码为关联数组或直接对象,以便后续提取具体字段。以下代码直接打印整个结构供查看:
print_r(json_decode($content));
完成判断
当控制台输出包含 results 键且内部有 currentCity(当前城市)和 weather_data(天气数据列表)时,表示调用成功。数据结构大致如下:
error: 0 (成功)status: "success"date: 查询日期results: 包含多个城市的详细天气信息,每个城市下有每天的气象详情(如温度、风级、天气图片URL等)。
简要总结
通过拼接参数和使用PHP原生HTTP与JSON处理函数,即可快速集成百度天气数据。需要注意的是该接口为较早期的版本,若涉及生产环境,建议关注百度地图官方文档是否有更新的服务端接口推荐。
以上就是PHP使用百度天气接口的详细内容,更多关于PHP调用第三方API的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













