More Related Content
KEY
第3回Twitter API勉強会 - ストリーミングAPI #twtr_hack PDF
第2.1回Twitter API勉強会 - 検索API PDF
Twitter API最新事情 - API Meetup Tokyo #1 #apijp PDF
Twitter API1.1 #twtr_hack ODP
TwitterのStreaming APIについて PDF
PDF
PPTX
What's hot
PDF
PPT
appengine活用事例資料@TDDBC札幌2.1 PDF
PDF
広島IT勉強会カレンダー(仮)はRubyを使っています PDF
PDF
PDF
Similar to Twitter4jハンズオン 5/1 #twtr_hack
KEY
Twitter クライアント開発のすすめ #twtr_hack PDF
StreamingAPIを使用したTwitter Bot @waketi の紹介 PDF
Twitter sphere of #twitter4j #twtr_hack PDF
Twitterクライアントがこの先生き残るには #twtr_hack PDF
PDF
PPT
PPT
Google App EngineでTwitterアプリを作ろう DOCX
PDF
第2.1回 ツイッターAPI勉強会 @ts_3156 発表資料 PDF
PDF
女子中高生とTwitter4J #twtr_hack PDF
PPT
Python twitterとtkinterのことはじめ PPT
Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API? PDF
Spring Fest 2018 Spring Bootで作るRESTful Web Service DOC
PDF
PDF
Dentoo.LT #3 "Party with Twitter" PPTX
More from Yusuke Yamamoto
PDF
株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokai PDF
これからはじめるGit、GitHub #stapy PDF
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan PDF
PDF
Java Küche 2016 LT 在室状況自動通知ボット #JavaKueche PDF
Java Küche 2016 #JavaKueche PDF
JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap... PDF
WebStormから始まる快適Web開発ワークフロー #html5jk PDF
データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug PDF
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #... PDF
カジュアルにスレッドダンプ - @yusuke #javacasual PDF
Excel方眼紙アプリケーションサーバと侍の新機能 #jjug PDF
株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai PDF
Botを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjug PDF
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4 PDF
PDF
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4 PDF
JavaScript時代のJava #kansumiB7 #kansumi PDF
PDF
失敗から学ぶAPI設計 #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring Twitter4jハンズオン 5/1 #twtr_hack
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
REST API
• REST:REpresentational State Transfer
• HTTPでAPI呼び出し
GET /1.1/statuses/public_timeline.json HTTP/1.1
Host: api.twitter.com
HTTP/1.1 200 OK
Date: Tue, 08 Feb 2011 07:52:51 GMT
Server: hi
Status: 200 OK
Content-Type: application/json; charset=utf-8
Vary: Accept-Encoding
Connection: close
[{"source": "<a href="http://foursquare.com" rel="nofollow">foursquare</a>",
"text": "I'm at IKEA 新三郷店 (新三郷ららシティ2-2-2, 三郷市) [pic]: http://4sq.com/
eOHZdS", ...
"user": {
"description": "Javaエンジニア山本裕介。rn映画、アーチェリー、Java 好きrn#twitter4j
#samurai", "name": "山本 裕介", ...}
},
...]
リクエスト
レスポンスヘッダ
レスポンスボディ
- 13.
Twitter のREST API
•全部で100近くのエンドポイント
• 15の「リソース」に分類されている
• リソース毎にパスが異なる(RESTful)
Timelineリソース
https://api.twitter.com/1.1/statuses/***.json
Userリソース
https://api.twitter.com/1.1/users/***.json
Direct messageリソース
https://api.twitter.com/1.1/direct_messages/***.json
等
- 14.
- 15.
- 16.
- 17.
演習: Twitter4Jのインスタンス化
public staticvoid main(String… args[]) throws TwitterException {
Twitter twitter = TwitterFactory.getSingleton();
}
<dependencies>
<dependency>
<groupId>org.twitter4j</groupId>
<artifactId>twitter4j-core</artifactId>
<version>[4.0,)</version>
</dependency>
</dependencies>
必要に応じてmaven依存追加
- 18.
- 19.
- 20.
演習: 自分のユーザーオブジェクトを取得
public staticvoid main(String… args[]) throws TwitterException {
Twitter twitter = TwitterFactory.getSingleton();
User user = twitter.showUser(“yusuke”);
System.out.println(user.getScreenName());
System.out.println(user.getId());
System.out.println(user.getDescription());
}
- 21.
- 22.
演習: Statusオブジェクトを取得
public staticvoid main(String… args[]) throws TwitterException {
Twitter twitter = TwitterFactory.getSingleton();
Status status = twitter.showStatus(20);
System.out.println(status.getText());
System.out.println(status.getUser().getScreenName());
}
- 23.
- 24.
- 25.
演習: @yusuke宛ての@ツイート
public staticvoid main(String… args[]) throws TwitterException {
Twitter twitter = TwitterFactory.getSingleton();
Status status = twitter.updateStatus(“@yusuke Hello!”);
System.out.println(status.getText());
System.out.println(status.getUser().getScreenName());
}
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
Site Stream
• エンドポイント(POST)
‣https://sitestream.twitter.com/1.1/site.json
• パラメータ
‣ follow: 受信するユーザーIDをカンマ区切りで指定、100人まで
• レスポンス
‣ statusオブジェクトのjson等
follow=1234,5678,91023,45324....
- 46.
- 47.
コントロールストリーム
• Site Stream接続時にコントロール用エンドポイントが返る
•RESTでコントロール用エンドポイントを操作
https://dev.twitter.com/docs/streaming-api/control-streams
{"control": {
“control_uri":"/1.1/site/c/1_1_54e345d655ee3e8d"
}}
https://sitestream.twitter.com/1.1/site/c/1_1_54e345d655ee3e8d”
- 48.
- 49.
- 50.
- 51.