Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

自己紹介 (省略)

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

1. Application-only authentication とは?

Slide 5

Slide 5 text

Application-only authentication

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

2. Twitter4J で お手軽に 使ってみる

Slide 8

Slide 8 text

注意 !

Slide 9

Slide 9 text

注意! •この LT は Pullreq #101 の実装内容をベー スに説明をしています •https://github.com/yusuke/twitter4j/pull/101 •設定項目やインタフェースなどは今後、変 更される可能性が大いにありますのでご注 意ください •それでもいますぐに使ってみたい方は、 以下の git リポジトリ「TFJ-762-pullreq」 ブランチをご利用ください •https://github.com/komiya-atsushi/twitter4j.git

Slide 10

Slide 10 text

利用の流れ a. OAuth コンシューマーキーを 払い出す b. twitter4j.properties を編集する c. Twitter4J を利用した実装をする

Slide 11

Slide 11 text

a. OAuth コンシューマーキーを払い出す •https://dev.twitter.com/apps より 「Create a new application」を押し てアプリケーション登録します •必要なもの •Name (アプリケーション名) •Description (アプリケーションの説明) •Website (アプリケーションに関するサイト URL) •英語を読む努力

Slide 12

Slide 12 text

a. OAuth コンシューマーキーを払い出す

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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 です

Slide 15

Slide 15 text

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 です

Slide 16

Slide 16 text

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 です

Slide 17

Slide 17 text

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 です

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

3. まとめ

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

ご清聴ありがとう ございました!