Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Application-only authentication と Twitter4J #apihack

Application-only authentication と Twitter4J #apihack

6月7日(金) (Twitter) API 勉強会/API1.0告別式 @恵比寿 @engineyard_jp #apihack の LT 資料です。
http://www.zusaar.com/event/751003

E77287648aff5484ac7659748e45c936?s=128

KOMIYA Atsushi

June 07, 2013
Tweet

Transcript

  1. Application-only authentication と Twitter4J 2013.6.7 (Twitter) API 勉強会 Lightning Talk

    @komiya_atsushi
  2. 自己紹介 (省略)

  3. Agenda 1. Application-only authentication と は? 2. Twitter4J でお手軽に使ってみる 3.

    まとめ
  4. 1. Application-only authentication とは?

  5. Application-only authentication

  6. Application-only authentication •ユーザの認可を必要とせずに、Twitter API にアク セスできるようになる認可方式 • ツイートを投稿するなど、ユーザに依存する API は呼

    び出せない •一部 API のレートリミットが大きく緩和されてい る(以下は一部) • friends/list, followers/list → +15 (30) • search/tweets → +270 (450) •一方で users/lookup など、レートリミットが厳 しくなった API も存在する •https://dev.twitter.com/docs/auth/application- only-auth
  7. 2. Twitter4J で お手軽に 使ってみる

  8. 注意 !

  9. 注意! •この LT は Pullreq #101 の実装内容をベー スに説明をしています •https://github.com/yusuke/twitter4j/pull/101 •設定項目やインタフェースなどは今後、変

    更される可能性が大いにありますのでご注 意ください •それでもいますぐに使ってみたい方は、 以下の git リポジトリ「TFJ-762-pullreq」 ブランチをご利用ください •https://github.com/komiya-atsushi/twitter4j.git
  10. 利用の流れ a. OAuth コンシューマーキーを 払い出す b. twitter4j.properties を編集する c. Twitter4J

    を利用した実装をする
  11. a. OAuth コンシューマーキーを払い出す •https://dev.twitter.com/apps より 「Create a new application」を押し てアプリケーション登録します

    •必要なもの •Name (アプリケーション名) •Description (アプリケーションの説明) •Website (アプリケーションに関するサイト URL) •英語を読む努力
  12. a. OAuth コンシューマーキーを払い出す

  13. a. OAuth コンシューマーキーを払い出す この二つの文字列を 利用します

  14. b. twitter4j.properties を編集する ##### 従来の設定項目にしかるべき設定を記述します # dev.twitter.com で払い出されたコンシューマーキーを設定する oauth.consumerKey=********************** oauth.consumerSecret=***************************************

    # Application-only authentication では SSL 通信が必須となります http.useSSL=true ##### 以下は Application-only authentication 対応で追加した項目です # Application-only authentication を利用する enableApplicationOnlyAuth=true # 最低限、上記設定をすれば OK です
  15. b. twitter4j.properties を編集する ##### 従来の設定項目にしかるべき設定を記述します # dev.twitter.com で払い出されたコンシューマーキーを設定する oauth.consumerKey=********************** oauth.consumerSecret=***************************************

    # Application-only authentication では SSL 通信が必須となります http.useSSL=true ##### 以下は Application-only authentication 対応で追加した項目です # Application-only authentication を利用する enableApplicationOnlyAuth=true # 最低限、上記設定をすれば OK です
  16. b. twitter4j.properties を編集する ##### 従来の設定項目にしかるべき設定を記述します # dev.twitter.com で払い出されたコンシューマーキーを設定する oauth.consumerKey=********************** oauth.consumerSecret=***************************************

    # Application-only authentication では SSL 通信が必須となります http.useSSL=true ##### 以下は Application-only authentication 対応で追加した項目です # Application-only authentication を利用する enableApplicationOnlyAuth=true # 最低限、上記設定をすれば OK です
  17. b. twitter4j.properties を編集する ##### 従来の設定項目にしかるべき設定を記述します # dev.twitter.com で払い出されたコンシューマーキーを設定する oauth.consumerKey=********************** oauth.consumerSecret=***************************************

    # Application-only authentication では SSL 通信が必須となります http.useSSL=true ##### 以下は Application-only authentication 対応で追加した項目です # Application-only authentication を利用する enableApplicationOnlyAuth=true # 最低限、上記設定をすれば OK です
  18. c. Twitter4J を利用した実装をする Twitter twitter = TwitterFactory.getSingleton(); // Twitter#getOAuth2Token() を呼び出すことで、

    // Bearer トークンを取得しにいきます twitter.getOAuth2Token(); // あとは思う存分好き放題に利用するだけ! Map<String, RateLimitStatus> rateLimits = twitter.getRateLimitStatus("search"); System.out.println( rateLimits.get("/search/tweets").getLimit()); // -> 450
  19. c. Twitter4J を利用した実装をする Twitter twitter = TwitterFactory.getSingleton(); // Twitter#getOAuth2Token() を呼び出すことで、

    // Bearer トークンを取得しにいきます twitter.getOAuth2Token(); // あとは思う存分好き放題に利用するだけ! Map<String, RateLimitStatus> rateLimits = twitter.getRateLimitStatus("search"); System.out.println( rateLimits.get("/search/tweets").getLimit()); // -> 450
  20. c. Twitter4J を利用した実装をする Twitter twitter = TwitterFactory.getSingleton(); // Twitter#getOAuth2Token() を呼び出すことで、

    // Bearer トークンを取得しにいきます twitter.getOAuth2Token(); // あとは思う存分好き放題に利用するだけ! Map<String, RateLimitStatus> rateLimits = twitter.getRateLimitStatus("search"); System.out.println( rateLimits.get("/search/tweets").getLimit()); // -> 450
  21. 3. まとめ

  22. まとめ •twitter4j.properties に次の設定を記述 します •oauth.consumerKey •oauth.consumerSecret •http.useSSL=true •enableApplicationOnlyAuth=true •Twitter#getOAuth2Token() を呼び出

    せば認証完了!
  23. ご清聴ありがとう ございました!