天气实况
其他 官方文档
获取指定城市的天气实况
基本说明:
接口地址:https://api.seniverse.com/v3/weather/now.json
返回格式:json
请求方式:get/post
请求示例:https://api.seniverse.com/v3/weather/now.json?key=yourkey&location=beijing&language=zh-Hans&unit=c
请求参数说明:
名称 类型 必填 说明
key string 必填 API的密钥 扫码关注公众号
location string 必填 所查询的位置
language string 选填 语言,默认zh-Hans
unit string 选填 单位,默认c
返回参数说明:
名称 类型 说明
text string 天气现象文字
code int 天气现象代码
temperature int 温度,单位为c摄氏度或f华氏度
JSON返回示例:
{
	"results": [{
		"location": {
			"id": "WX4FBXXFKE4F",
			"name": "北京",
			"country": "CN",
			"path": "北京,北京,我们",
			"timezone": "Asia/Shanghai",
			"timezone_offset": "+08:00"
		},
		"now": {
			"text": "多云",
			"code": "4",
			"temperature": "10"
		},
		"last_update": "2022-05-06T20:30:00+08:00"
	}]
}
服务级错误码参照
错误码 说明
AP010001 API 请求参数错误
AP010002 没有权限访问这个 API 接口
AP010003 API 密钥 key 错误
AP010004 签名错误
AP010005 你请求的 API 不存在
AP010006 没有权限访问这个地点
AP010007 JSONP 请求需要使用签名验证方式
AP010008 没有绑定域名
AP010009 API 请求的 user-agent 与你设置的不一致
AP010010 没有这个地点
AP010011 无法查找到指定 IP 地址对应的城市
AP010012 你的服务已经过期
AP010013 访问量余额不足
AP010014 访问频率超过限制
AP010015 暂不支持该城市的车辆限行信息
AP010016 暂不支持该城市的潮汐数据
AP010017 请求的坐标超出支持的范围
AP100001 系统内部错误:数据缺失
AP100002 系统内部错误:数据错误
AP100003 系统内部错误:服务内部错误
AP100004 系统内部错误:网关错误
完整教学代码示例
<?php
/**
 * Created by PhpStorm.
 * User: FZS
 * Time: 2022/04/08 11:38
 */
class freeApi
{
    private $apiUrl;

    public function __construct()
    {
        $this->apiUrl = 'https://api.seniverse.com/v3/weather/now.json?key=yourkey&location=beijing&language=zh-Hans&unit=c';
    }

    /**
     * 获取结果
     * @return array
     */
    public function getResult()
    {
        return file_get_contents($this->apiUrl);
    }
}
package main

import (
	"fmt"
	"io/ioutil"
	"log"
	"net/http"
)

const (
	APIURL   = "https://api.seniverse.com/v3/weather/now.json?key=yourkey&location=beijing&language=zh-Hans&unit=c"
)

func main() {
	queryUrl := fmt.Sprintf("%s",APIURL)
	resp, err := http.Get(queryUrl)
	if err != nil {
		log.Println(err)
		return
	}

	defer resp.Body.Close()

	body, err := ioutil.ReadAll(resp.Body)

	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Println(string(body))
}