はじめに
Gitterを使っているのですが、指定したルームの指定した日付の1日分のメッセージをまとめて確認できると便利かと思いGitter APIを試してみました。
指定したルームのメッセージを取得するところまではできたのですが、指定した日付の1日分のメッセージをまとめて取得することはできませんでした。
しかし、その代わりになりそうな機能はありました。
今回はGitter APIを簡単に紹介したいと思います。
ログイン&アクセストークン取得
APIを使うためにはアクセストークンが必要になります。このアクセストークンを取得するためにログインします。
Welcome | Gitter Developer Program
アプリ連携でログインするので、GitHubのアカウントかTwitterのアカウントのどちらかが必要になります。
ログインするとアクセストークンが表示されたページに移動します。
ログインユーザーを取得
まず、簡単そうなログインユーザーの情報を取得してみます。
User Resource | Gitter Developer Program
下記のようなURLをブラウザのアドレスバーに入力して取得してみます。
https://api.gitter.im/v1/user?access_token=アクセストークン
アクセストークンが間違えていなければブラウザにレスポンスが表示されます。
ルーム一覧を取得
次に、ログインユーザーがjoinしているルームの一覧を取得してみます。
Rooms Resource | Gitter Developer Program
下記のようなURLをブラウザのアドレスバーに入力して取得してみます。
https://api.gitter.im/v1/rooms?access_token=アクセストークン
こちらもアクセストークンが間違えていなければブラウザにレスポンスが表示されます。
リンク先のドキュメントを確認すると、idがルームIDだと分かります。
このルームIDでルームを指定することができます。
指定したルームのメッセージを取得
試しにルームIDで指定したルームのメッセージを取得してみます。
Rest Api | Gitter Developer Program
下記のようなURLをブラウザのアドレスバーに入力して取得してみます。
https://api.gitter.im/v1/rooms/54b63a2bdb8155e6700ea37f/chatMessages?access_token=アクセストークン
リンク先のドキュメントにある:roomId
をルームIDに置き換えています。
指定したメッセージID後のメッセージを5件取得
最後に、指定したメッセージID後のメッセージを5件取得する例を紹介します。
Messages Resource | Gitter Developer Program
下記のようなURLをブラウザのアドレスバーに入力して取得してみます。
https://api.gitter.im/v1/rooms/54b63a2bdb8155e6700ea37f/chatMessages?access_token=アクセストークン&afterId=5760ab757a851b587e6ed0b0&limit=5
リンク先のドキュメントを確認すると、idがメッセージIDだと分かります。
afterId
にメッセージIDを指定して、limit
に取得する件数を指定します。
この機能を使えば50件づつメッセージを読んでいくことができます。
まとめ
Gitter APIを紹介しました。1日分のメッセージを取得することは少し難しそうですが、まとめてメッセージを取得したり、その続きのメッセージを取得したりすることができました。