第1回 Twitter API 勉強会/ハッカソン @東京 に参加してきた #twtr_hack

『勉強会』絡みの日々の情報収集について手間の掛かる部分をどうにかして効率化・簡略化出来ないものかなぁ〜と最近思い始めており、その辺のアクションに一役買えるんじゃ無いか…?という事で今回この勉強会に参加してみました。

場所は財団法人インターネット協会@新橋。JR新橋駅からちょこっと歩いた場所にある施設です。

なお、事前に下記書籍は購入していたものの勉強会までに勉強らしい勉強は(時間の都合で)出来ず、完全初心者状態で臨む事になりました。まぁ、ここから勉強を始動出来れば、位の気持ちで臨んだ訳でありました。



Twitter APIの基本とか最新の動向について勉強

当イベント主催者であり書籍『Twitter API ポケットリファレンス』の著者でもある@yusukeyさんによるセッション。

Twitter API ポケットリファレンス (POCKET REFERENCE)

Twitter API ポケットリファレンス (POCKET REFERENCE)

Twitter APIの種類
  • REST API
    • プル型。
      • タイムラインの取得
      • ユーザのフォロー
      • ツイート
      • ダイレクトメッセージの送信
        • 等々、100近くのメソッドが存在。
  • 検索API
    • プル型
      • 最新のツイートを検索
      • search.twitter.comとほぼ同じ機能
  • ストリーミングAPI
    • プッシュ型
      • 特定のユーザーのアクティビティをリアルタイムに取得 or 指定したキーワードにマッチするツイートをリアルタイムに取得
    • HTTPで接続、レスポンスがたまに来る
    • Comet等とは若干毛色が異なる
    • 30秒に1回、改行コードが送られてくるので回線切断されずに済んでいる
  • Webサイト向けAPI
    • サーバサイドの実装不要
    • Web incents
      • 簡単なリンクを張るだけでtwitterと連携
      • ツイート、お気に入り追加、フォローなど
    • @anywhere
      • jsでtwと連携
Twitter APIの基本
  • アプリケーションの登録と権限
  • アプリケーション
    • twitterにアクセスする単位
    • ユーザーとは異なる
    • ユーザーはアプリケーションにアクセス権限を委譲する
    • Twitter本体から[設定] - [アプリ連携]
    • 以前はこの概念が無く、危険だった。
    • OAuthを使った認証
    • 許可を取り消す、で即対応可能。
  • アプリケーションの登録
    • アプリケーションタイプ
      • Access Level / read and write … 超重要!
      • 3段階ある。デフォルトはread only
        • (P.36 アクセスタイプの表参照)
  • OAuth認証(P.38/P.39)
    • 書籍内容の抜き出し。
    • flickrが古くから使っていた。
  • Sign in with Twitter(P.47)
    • OAauthと殆ど同じ。
    • 既にユーザーがアプリに対して認証をしていた場合、ログインせずにアクセス権をゲット出来る。
  • REST API
    • REST::XXXXX...
    • HTTPでAPIの呼び出し
    • Twitterrest API
      • 全部で100近くノメソッド
      • 20のリソースに分類されている
      • リソース毎にパスが異なる。
  • 質疑応答
    • PINコード出る・出ないの違いは?
      • ブラウザクライアント・REST APIかによる。
      • REST APIの場合は出る。
    • 画像アップロード機能
      • 今のところ、APIからの利用は出来ない。
      • 将来的には公開されるかも?

LT

途中自己紹介タイムを15分程取ったりしつつ、希望者によるLTを幾つか実施。

LT:Twitter APIPythonと私

pythonな人。上京してまだそんなに経ってないそうで。

  • 作ったもの:botを幾つか。
  • 使ったライブラリ
  • 作ろうとしたもの
    • Twitter4py
    • Twitterクライアントを自前で。

  • まとめ
    • 黎明期にはAPIガシガシ変わります
    • 作るのを楽しみましょう!
LT:Twitter4Jとchicchan_remtterと私
  • 仕事とか
    • webコンサルトかを主に。普通の開発はしたことない。
  • 好きなこととか
    • ビール
    • ゲーム
  • 著書
    • …では無いが、Twitter4jを初心者視点で査読。
  • つくったもの
    • chichan_remitter
      • gae/slim3/twitter4j
      • 毎朝8時にDMを送る。
      • newフォロワーとかの日時情報
  • 苦労しているところ、課題
    • 1.TwitterAPIの調子に左右される
    • 2.GAEの30秒制限
    • 3.Userリソースの問題

  • git+githubに上げて管理したいな〜。
LT:GroovyでもTwitter4J

只今無職(9月から新天地で再始動)、アジャイルサムライ読書会in秋田道場首謀者な人です。

  • 自己紹介
    • Groovy/Gradleが増えた
  • アプリの紹介
    • 何もありません…これから作ります。
  • Twitterを使って何か出来ないか?
    • Groovy
    • Gradle
    • があるじゃないか!
  • Groovy:JVM上で動く動的型付けスクリプト言語
    • (Groovyの例を挙げ)Twitter4jもGroovyで操作出来る。
    • (実演)groovyからtwitter4jを叩いて見ました。
    • Gradleでも実演。
    • gradleでビルド失敗→メンバー宛にtwitterメッセージ送る。
LT:(無題)

学生さんなひと。

まとめ

今回は初回と言うこともあり、ハッカソンというよりは勉強会に重きを置いた構成となっておりました。次回以降、より『もくもく』度を増した感じになっていくのでは、とコメントされていました。

また、今後の予定としては月一開催を検討している模様で、

上記のようなスケジュールで進めて行くようです。


TwitterAPIについてはアカウント取得(? 設定?)すらもしてない状態だったので、これから一から勉強ですね。見た感じ他の方々は何かしら触ったり、ちょろっと作ってみました、位の雰囲気ではありました。

今後は出来ればGroovyで何か作りたいとは思うのですが、Groovy自体もまだ初心者なのでJava→Groovy,環境もGAEやSlim/gaelykフレームワークを利用した何かを作ってみたいところですね。頓挫する可能性も捨てきれないので何を作るかはまだ秘密です(笑)