Pixela の Go クライアントを作りました
Pixela の Go クライアントを作りました。
書くこと
- Pixela とは?
- 使い方
- インストール
- 動機
- まとめ
Pixela とは?
任意の数値を登録してアレのあれっぽくグラフを作れるクールな API サービスです。
詳しくは↓
使い方
package main import ( "log" "github.com/ebc-2in2crc/pixela-client-go" ) func main() { client := pixela.NewClient("YOUR_NAME", "YOUR_TOKEN") // 新しいユーザーを作る result, err := client.CreateUser(true, true, "") if err != nil { log.Fatal(err) } if result.IsSuccess == false { log.Fatal(result.Message) } // 新しいグラフを作る result, err = client.Graph("graph-id").Create( "graph-name", "commit", pixela.TypeInt, pixela.ColorShibafu, "Asia/Tokyo", pixela.SelfSufficientNone, false, false, ) if err != nil { log.Fatal(err) } if result.IsSuccess == false { log.Fatal(result.Message) } // ピクセルに値を記録する result, err = client.Pixel("graph-id").Create("20180915", "5", "") if err != nil { log.Fatal(err) } if result.IsSuccess == false { log.Fatal(result.Message) } // ピクセルの値をインクリメントする result, err = client.Pixel("graph-id").Increment() if err != nil { log.Fatal(err) } if result.IsSuccess == false { log.Fatal(result.Message) } // 新しい webhook を作る webhook, err := client.Webhook().Create("graph-id", pixela.SelfSufficientIncrement) if err != nil { log.Fatal(err) } if webhook.IsSuccess == false { log.Fatal(webhook.Message) } // webhook を呼び出す result, err = client.Webhook().Invoke(webhook.WebhookHash) if err != nil { log.Fatal(err) } if result.IsSuccess == false { log.Fatal(result.Message) } }
一応すべての API をサポートしています。
と書いておきながら 対応しました。Pixel
の optionalData
プロパティと Graph
の publishOptionalData
プロパティは自分が使っていないせいか今のところサポートしていません。
インストール
$ go get -u github.com/ebc-2in2crc/pixela-client-go
動機
Pixela はシンプルでいろんなことに応用できるとても便利な API サービスです。 最近は Go のコードを書く機会があったので Go から Pixela を使いたいと思って Go クライアントを探したのですが、なんとなく車輪を再発明してみたくなったので作りました。
まとめ
バグとかあると思いますし「こーしたら使いやすくなる」とかあったらイシュー作ったり声かけてもらえると嬉しいです。
ということで Pixela の Go クライアントの紹介でした。