Typetalk Hack から学ぶ Typetalk API のはじめかた

TypetalkHack Tokyo

以前の記事でも紹介しましたが、Typetalk の API をハックするイベント Typetalk Hack を京都、大阪、東京の三都市で開催しました。このエントリでは、これらのイベントを開催を通じてみえてきた、 Typetalk API を使い始めるにあたっての勘所を紹介したいと思います。 

まずは「トピックにポスト」

Typetalk Hack の参加者のほとんどが、まず「トピックにポストする」所から取り組まれていました。トピックにポストする方法については、開発者向けのページに様々な言語の豊富なサンプルがあるので、まずはサンプルを動かすところからはじめるのがおススメです。

サンプルがうまく動いたら、次は「XXX の結果をトピックにポストする」といった形にアイディアを広げてみます。この XXX の部分を、外部の API から取得することで、たとえば

  • Gmail の未読数や、検索結果
  • レストランの検索結果
  • 住んでいる地域の天気
  • GitHub のプロジェクトのスター数

といったものをトピックに流すようなプログラムを作られていました。

使い慣れた言語を選ぶ

Typetalk API は REST 形式の URL、データフォーマットは JSON とスタンダードな構成になっており、シェルからでも利用出来るくらいですので、たいていの言語で問題なく利用することができます。また先のサンプルページにない言語でも、処理の流れさえ把握すればハードルはそこまで高くないと思います。これまでの Typetalk Hack では、Groovy 、CoffeeScript そして Hack や Smalltalkといったサンプルにない言語でチャレンジした方も問題なく API を利用されていました。

認証方式は Client Credentials から

OAuth2 の認証での開発に慣れていなければ、認証方式にはサンプルページにある Client Credentials を選択するのがシンプルで良いでしょう。複数のユーザで利用したい段階になって初めて Authorization Code の利用を検討してみてください。

Chrome Extensionで Authorization Code を利用するには少し気をつけないといけない所もありますので、コチラの記事を参考にしてください。その他の特殊な実行環境・フレームワークでの認証の注意点などをご存知の方は是非コメント欄にて共有いただけると助かります!

アイディアを広げる

API を使った開発に慣れてきたら、トピックにポストするだけでなく、トピック一覧を取得したり、未読数を取得したり、と他の API を利用してみましょう。

また、コマンドラインでの実行だけでなく、ウェブページやその他の環境から API を利用する方法にチャレンジするとぐっとアイディアの幅が広がります。これまでの Typetalk Hack では、node-webkit ベースの自作エディタや、Sublime Text (+ SublimeSocket ) といったエディタとの連携にチャレンジした方、iPhone アプリで UIKit Dynamics を使ってトピックの表示方法に工夫された方、JavaFX でデスクトップクライアントにチャレンジした方などがいらっしゃいました。

Typetalk の公式のモバイルアプリは Typetalk API を使って作られているので、同じの機能をもった自分好みのモバイルアプリを作る事も出来ます!

API ライブラリの開発、大歓迎!

 Typetalk Hack Tokyo では、なんとそのハッカソンの間にライブラリ用のドメインを取得された方がいました!また、Google Apps Script 環境でも利用可能なライブラリがあります。

Typetalk API はシンプルで使いやすいものですが、それをラップするライブラリがあることで

  • 初めての方でもより簡単に開発をはじめられる
  • エディタなどでの補完がきく

 といったメリットがあります。もし、そういったライブラリを開発されましたら是非お知らせください!

これまでの参加者の方の情報まとめ

本エントリでもいくつか紹介したこれまでの参加者の方の書かれたブログエントリ等をまとめておきます。是非こちらもご参照ください!

ブログエントリ

参考資料

GitHub 上のソースコード

近々公開されるというものも含めてリンクしています。

 


 いよいよ次の Typetalk Hack はヌーラボ本社である福岡にて五月に開催します!詳細が決まりましたらまたお知らせいたしますので、nulabjp ツイッターアカウントからの更新情報をお見逃しなく!

より良いチームワークを生み出す

チームの創造力を高めるコラボレーションツール

製品をみる