docomo APIのGoライブラリ(go-docomo)を作った
docomoのAPIを利用する目的で作ったGo製のライブラリです。 各API叩いてるだけなので、特別なにかやってるとかはないです。
今のところ以下のAPIに対応しています。
- 雑談対話
- 知識Q&A
- トレンド記事抽出
ライブラリの構成とかはgo-githubを参考に作りました。
docomo API
docomoAPIを利用するには、以下でDeveloper登録が必要です。 Google+とかFacebookとかのSNSアカウントでログイン対応してるので、すぐAPIを触れます。
docomo Developer support | NTTドコモ
docomoAPI
※詳しくは公式APIドキュメントを見ていただければと
利用例
大体こんな感じに使われてます。
以下の記事を見て自分もGoでやってみたいなーと思いました。
go-docomoでつくったGo製のSlackbot
いーすんさん可愛い!!!
雑なソースコードはこちら ↓
go-docomoの使い方
普通にgo get
します。
go get github.com/kyokomi/go-docomo/docomo
docomoで登録したAPIはNewClientの引数で渡すようにしているので、 環境変数なり起動引数なりで読み込んでセットしてください。
package main import ( "log" "os" "github.com/kyokomi/go-docomo/docomo" ) func main() { apiKey := os.Getenv("DOCOMO_APIKEY") c := docomo.NewClient(apiKey) message := "こんにちわ" req := docomo.DialogueRequest{ Utt: &message, } res, err := c.Dialogue.Get(req, true) if err != nil { log.Fatalln(err) } log.Printf("%+v", res) }
実行結果
2015/01/14 14:52:02 &{Context:kqRd3UD-30ov__ecH7exLA Da:0 Mode:dialog Utt:こんにちわー Yomi:こんにちわー RequestError:{PolicyException:{MessageID: Text:}}}
Memo: トレンド記事取得の関連記事取得が中々ヒットしない仕様?みたいで「ぐぬぬ」ってなりますのでご注意ください
おわり
気軽にPR等投げていただければと思います。
ただ、英語全然ダメなので、こっそりTwitterとかで日本語で話しかけていただけると助かります・・・