
こんにちは、つじたく(@Tsuji_Taku50)です。
golangでconnpassAPIを使いやすくするためのライブラリを
作成したので紹介します。
※使いやすくというのは、あくまで個人的なので人によっては使いにくいだったりがあると思いますorz。
リポジトリ
リポジトリは下記になります。
READEM.mdに諸々の情報を記載しています。
インストール方法
%go get github.com/TsujiTakuya55/go-connpass/connpass
サンプルコード
go-connpassライブラリの使い方を載せたサンプルコードも存在します。
go-connpass/main.go at master · TsujiTakuya55/go-connpass · GitHub
そんな難しくないので、使い方自体はソースコードを見て貰えれば分かると思います。
一応ざっくりとですが、
イベントIDで検索
任意の単語で検索
検索件数の指定
ユーザー名で検索
開催日付で検索
などに対応しています。
自動テスト
Githubにpushするとcircle.ymlで自動テストするように設定しています。
circle.ymlの記述を見てもらうと分かるかと思いますが、
go vet & go test
などをしています。
少し解説
// 「golang」というキーワードで検索&表示件数を5件にしたいとき
func keyword() {
param := &connpass.Param{
Keyword: "golang",
Options:connpass.Options{
Start:1,
Order:1,
Count:5,
},
}
client := connpass.NewClient()
connpass, _, err := client.Get(param)
if err != nil {
fmt.Println(fmt.Errorf("err! \n", err))
return
}
for _, k := range *connpass.Events {
fmt.Println("eventId :", *k.EventId)
fmt.Println("title :", *k.Title)
fmt.Println("address :", *k.Address)
fmt.Println("startedAt :", *k.StartedAt)
fmt.Println("==================================")
}
}
connpass.Paramという構造体に情報を詰めて引数に入れて、
client := connpass.NewClient()で初期化しています。
connpassという変数に情報を詰めて、最後にfor文で回しています。
まとめ
練習のためにgolangでライブラリを作ったみたのですが、
go getコマンドでライブラリを配布できるのはすごい便利ですね!
おわり!!