Goの勉強もかねて、[おんどとり WebStorage API](https://ondotori.webstorage.jp/docs/api/)の[クライアント](https://github.com/k28/go-ondotori)を作成しました。
取得した情報を使って、死活監視や前日の最高, 最低気温の算出、警報監視を自分で作成可能です。
## 使い方
```golang
package main
import (
"context"
"fmt"
"github.com/k28/go-ondotori"
)
func main() {
client, err := ondotori.New("API Token here", "rbxx1234", "password")
if err != nil {
fmt.Println(err.Error())
return
}
cp := ondotori.GetCurrentParam{
RemoteSerial: []string{},
BaseSerial: []string{},
}
res, err := client.GetCurrent(cp, context.TODO())
if err != nil {
fmt.Println(err.Error())
return
}
fmt.Println("response ", res.DeviceList)
}
```
## サポートしている機能
- 現在値の取得
- 直近のデータの取得(TR-7wb/nw/wf)
- 指定期間・件数によるデータの取得(TR-7wb/nw/wf)
## 今後サポート予定の機能
今後サポート予定の機能は以下になります。
(執筆当時の情報なので、もしかしたらすでに対応しているかも...?)
- RTR500BWシリーズのデータ取得
- エラーハンドリング
- RateLimitの取得
Rubyでも同じようなクライアント作成したのですが、Rubyの場合はコマンドでプロジェクトのテンプレートを作成してくれたので、作成が用意でした。
GOの場合は自分で1から作成する必要があるので、始めるための初期段階のコストが高い気がしました。
GOはjsonをパースするのにKeyを列挙した構造体を定義する必要があるので、ライブラリ化することでその手間が省ければ幸いです。
## URL
- [go-ondotori](https://github.com/k28/go-ondotori)
- [RubyバージョンのClient API](https://github.com/k28/ondotori-ruby-client)
- [おんどとり WebStorage API](https://ondotori.webstorage.jp/docs/api/)
0 件のコメント :
コメントを投稿