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

KOMIYA Atsushi

June 07, 2013
Tweet

More Decks by KOMIYA Atsushi

Other Decks in Technology

Transcript

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

    更される可能性が大いにありますのでご注 意ください •それでもいますぐに使ってみたい方は、 以下の git リポジトリ「TFJ-762-pullreq」 ブランチをご利用ください •https://github.com/komiya-atsushi/twitter4j.git
  3. a. OAuth コンシューマーキーを払い出す •https://dev.twitter.com/apps より 「Create a new application」を押し てアプリケーション登録します

    •必要なもの •Name (アプリケーション名) •Description (アプリケーションの説明) •Website (アプリケーションに関するサイト URL) •英語を読む努力
  4. 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 です
  5. 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 です
  6. 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 です
  7. 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 です
  8. 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
  9. 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
  10. 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