使用Go语言封装个推的RestAPI,自己提供一个SDK.
go get -u -v github.com/cyrnicolase/getui
- 对使用App的某个用户,单独推送消息(push_single)
- tolist群推(push_list)
- 批量单推(push_single_batch)
- 推送给应用(push_app)
gt := getui.NewGetui(
os.Getenv("APP_ID"),
os.Getenv("APP_SECRET"),
os.Getenv("APP_KEY"),
os.Getenv("MASTER_SECRET"),
)
cid := `clientid`
message := gt.NewMessage(getui.MsgTypeTransmission)
template, pushInfo := getui.NewTransmission(`横幅内容`, `横幅标题`, `透传内容`)
param := getui.PushToSingleParam {
Message: message,
Transmission: template,
Cid: cid,
PushInfo: pushInfo,
}
result, err := gt.PushToSingle(param)
if nil != err {
// handle error
}
fmt.Println(string(result))
其他使用方法请查看examples
将 getui 对象作为包级别变量. 因为Getui{} 本身会缓存请求接口的AuthToken, 在声明为全局变量的情况,缓存有效。
var (
gt = &getui.Getui{}
)
func init() {
gt = getui.NewGetui(
os.Getenv("APP_ID"),
os.Getenv("APP_SECRET"),
os.Getenv("APP_KEY"),
os.Getenv("MASTER_SECRET"),
)
}
因为自己没有用上,所以还有一些接口没有进行实现;如果大家有需要可以 issue;或者我自己补充了。