和风天气的非官方Golang SDK
欢迎使用go-heweather!
本SDK基于和风天气WebAPI V7而制作,方便Go开发者快速调用和风天气API。
您亦可在GoDoc(here)上浏览本SDK的文档,在package
中选择v7即可浏览和风天气v7的相关文档。
使用本SDK,您需要一个和风天气WebAPI的安全凭证。可前往和风天气开发平台获取您的安全凭证。
go get github.com/Ink-33/go-heweather
和风天气v7的每个API都有其对应的一个函数,通过此函数可以获取一个请求实例。以下是使用例程。
确保您使用本sdk前已阅读和风天气开发文档
以下为完成一次请求的所有必须操作
package main
import hewea "github.com/Ink-33/go-heweather/v7"
func main() {
var publicID = "your public ID"
var key = "your key"
// 免费开发版为false,商业共享版与商业高性能版均为true
var isBusiness = false
// 创建一个安全凭证
credential := hewea.NewCredential(publicID, key, isBusiness)
// 要查询的地址
var location = "101010100"
// 新建一个实时天气查询实例
client := hewea.NewRealTimeWeatherClient(location)
// 运行
rep, err := client.Run(credential)
if err != nil {
panic(err) // 也可以自行进行错误处理
}
println(rep)
}
要注意的是,当前版本的sdk不会对调用返回值进行进一步处理,而是直接返回接口的返回值,您应当根据您的需求进一步对返回值进行处理。
您还可以通过以下方法对api进行定制
var location = "101010100"
// 查询时间段
var duration = "now"
// 新建一个空气质量查询实例
client, err := hewea.NewAirQualityClient(location, duration)
if err != nil {
panic(err) // 此处返回错误代表您填入了一个错误的duration
}
// 设置请求超时时间,不设置则默认为15s
client.SetTimeout(3 * time.Second)
// 此处新建一个map,用于添加api可选参数。
// 各api支持的可选参数请参考https://dev.heweather.com/docs/api
op := map[string]string{"lang": "en"}
client.SetAPIOptionParam(op)
// 运行
rep, err := client.Run(credential)
if err != nil {
panic(err) // 也可以自行进行错误处理
}
println(rep)
}