Submit Search
第2.1回Twitter API勉強会 - 検索API
4 likes
4,180 views
Yusuke Yamamoto
1 of 29
Download now
Downloaded 22 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
More Related Content
KEY
第3回Twitter API勉強会 - ストリーミングAPI #twtr_hack
Yusuke Yamamoto
PDF
Twitter4jハンズオン 5/1 #twtr_hack
Yusuke Yamamoto
ODP
TwitterのStreaming APIについて
Hidenori Goto
PDF
Twitter API最新事情 - API Meetup Tokyo #1 #apijp
Yusuke Yamamoto
PDF
Twitter API1.1 #twtr_hack
Yusuke Yamamoto
PDF
Twitter API
Hiroshi Tsujimura
PDF
Twitter Cards #twtr_hack
Yusuke Yamamoto
PPTX
Twitter API で学ぶ OAuth
Takeru Ujinawa
第3回Twitter API勉強会 - ストリーミングAPI #twtr_hack
Yusuke Yamamoto
Twitter4jハンズオン 5/1 #twtr_hack
Yusuke Yamamoto
TwitterのStreaming APIについて
Hidenori Goto
Twitter API最新事情 - API Meetup Tokyo #1 #apijp
Yusuke Yamamoto
Twitter API1.1 #twtr_hack
Yusuke Yamamoto
Twitter API
Hiroshi Tsujimura
Twitter Cards #twtr_hack
Yusuke Yamamoto
Twitter API で学ぶ OAuth
Takeru Ujinawa
What's hot
(11)
PDF
Webサイト向けAPI #twtr_hack
Yusuke Yamamoto
PPT
appengine活用事例資料@TDDBC札幌2.1
Go Sueyoshi (a.k.a sue445)
PDF
WatchKitを実際にさわってみてわかったこと
Shuichi Tsutsumi
PDF
広島IT勉強会カレンダー(仮)はRubyを使っています
Yoshitake Takata
PDF
Apple Watch 間通信
Shuichi Tsutsumi
PDF
Elastic Beanstalk 概要
Koichiro Nishijima
PDF
Googleアナリティクス ランキング概要
AppBank
PPTX
Spring bootで学ぶ初めてのwebアプリ開発
terahide
PDF
watchOS 2 新機能の細かい話
Shuichi Tsutsumi
PDF
Rails環境に最適なVue.js構成を探る
虎の穴 開発室
PDF
なじむ Redmine
akabekobeko
Webサイト向けAPI #twtr_hack
Yusuke Yamamoto
appengine活用事例資料@TDDBC札幌2.1
Go Sueyoshi (a.k.a sue445)
WatchKitを実際にさわってみてわかったこと
Shuichi Tsutsumi
広島IT勉強会カレンダー(仮)はRubyを使っています
Yoshitake Takata
Apple Watch 間通信
Shuichi Tsutsumi
Elastic Beanstalk 概要
Koichiro Nishijima
Googleアナリティクス ランキング概要
AppBank
Spring bootで学ぶ初めてのwebアプリ開発
terahide
watchOS 2 新機能の細かい話
Shuichi Tsutsumi
Rails環境に最適なVue.js構成を探る
虎の穴 開発室
なじむ Redmine
akabekobeko
Ad
Similar to 第2.1回Twitter API勉強会 - 検索API
(20)
PDF
仙台 iOS開発者勉強会 2011/11/03 - TwitterAPIについて
tototti
PDF
JavaからAkkaハンズオン
TIS Inc.
KEY
Twitter クライアント開発のすすめ #twtr_hack
Mocel Mocelic
PDF
ネットワークAPI のあれこれ (ENOG37)
Kentaro Ebisawa
PDF
ASP.NET WebAPI 体験記 #clrh99
Katsuya Shimizu
PDF
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
yut148atgmaildotcom
PPTX
meguro.rb LT
Tsunenori Oohara
PPTX
ご注文はRxですか? -RxSwiftを実際に導入してみた件-
Keisuke Tatsumi
PDF
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Yoshifumi Kawai
PPT
マッシュアップ勉強会
seiryo
PPT
マッシュアップ勉強会
guestadcb01
PDF
python-twitterを用いたTwitterデータ収集
Hikaru Takemura
PPTX
JavaScriptテンプレートエンジンで活かすData API
Hajime Fujimoto
PDF
チャットサービス運用の舞台裏
Hiroaki Nagata
PDF
Twitter4Jとテスト
Yusuke Yamamoto
PDF
Can we live in a pure Swift world?
toyship
PDF
YouTube APIの紹介
Yoshifumi Yamaguchi
PPTX
Getting Started with Graph Database with Python
ロフト くん
PDF
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
Kazuya Sugimoto
PDF
Twitter4Rでつくるゆるふわ愛されTwitter bot
Yoji Shidara
仙台 iOS開発者勉強会 2011/11/03 - TwitterAPIについて
tototti
JavaからAkkaハンズオン
TIS Inc.
Twitter クライアント開発のすすめ #twtr_hack
Mocel Mocelic
ネットワークAPI のあれこれ (ENOG37)
Kentaro Ebisawa
ASP.NET WebAPI 体験記 #clrh99
Katsuya Shimizu
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
yut148atgmaildotcom
meguro.rb LT
Tsunenori Oohara
ご注文はRxですか? -RxSwiftを実際に導入してみた件-
Keisuke Tatsumi
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Yoshifumi Kawai
マッシュアップ勉強会
seiryo
マッシュアップ勉強会
guestadcb01
python-twitterを用いたTwitterデータ収集
Hikaru Takemura
JavaScriptテンプレートエンジンで活かすData API
Hajime Fujimoto
チャットサービス運用の舞台裏
Hiroaki Nagata
Twitter4Jとテスト
Yusuke Yamamoto
Can we live in a pure Swift world?
toyship
YouTube APIの紹介
Yoshifumi Yamaguchi
Getting Started with Graph Database with Python
ロフト くん
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
Kazuya Sugimoto
Twitter4Rでつくるゆるふわ愛されTwitter bot
Yoji Shidara
Ad
More from Yusuke Yamamoto
(20)
PDF
株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokai
Yusuke Yamamoto
PDF
これからはじめるGit、GitHub #stapy
Yusuke Yamamoto
PDF
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
Yusuke Yamamoto
PDF
JetBrains IDEハンズオン
Yusuke Yamamoto
PDF
Java Küche 2016 LT 在室状況自動通知ボット #JavaKueche
Yusuke Yamamoto
PDF
Java Küche 2016 #JavaKueche
Yusuke Yamamoto
PDF
JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...
Yusuke Yamamoto
PDF
WebStormから始まる快適Web開発ワークフロー #html5jk
Yusuke Yamamoto
PDF
データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug
Yusuke Yamamoto
PDF
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...
Yusuke Yamamoto
PDF
カジュアルにスレッドダンプ - @yusuke #javacasual
Yusuke Yamamoto
PDF
Excel方眼紙アプリケーションサーバと侍の新機能 #jjug
Yusuke Yamamoto
PDF
株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai
Yusuke Yamamoto
PDF
Botを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjug
Yusuke Yamamoto
PDF
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Yusuke Yamamoto
PDF
貧乏人のHeroku活用術 #herokujp
Yusuke Yamamoto
PDF
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
Yusuke Yamamoto
PDF
JavaScript時代のJava #kansumiB7 #kansumi
Yusuke Yamamoto
PDF
テンプレートエンジンの話 #jjug
Yusuke Yamamoto
PDF
失敗から学ぶAPI設計 #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring
Yusuke Yamamoto
株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokai
Yusuke Yamamoto
これからはじめるGit、GitHub #stapy
Yusuke Yamamoto
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
Yusuke Yamamoto
JetBrains IDEハンズオン
Yusuke Yamamoto
Java Küche 2016 LT 在室状況自動通知ボット #JavaKueche
Yusuke Yamamoto
Java Küche 2016 #JavaKueche
Yusuke Yamamoto
JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...
Yusuke Yamamoto
WebStormから始まる快適Web開発ワークフロー #html5jk
Yusuke Yamamoto
データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug
Yusuke Yamamoto
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...
Yusuke Yamamoto
カジュアルにスレッドダンプ - @yusuke #javacasual
Yusuke Yamamoto
Excel方眼紙アプリケーションサーバと侍の新機能 #jjug
Yusuke Yamamoto
株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai
Yusuke Yamamoto
Botを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjug
Yusuke Yamamoto
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Yusuke Yamamoto
貧乏人のHeroku活用術 #herokujp
Yusuke Yamamoto
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
Yusuke Yamamoto
JavaScript時代のJava #kansumiB7 #kansumi
Yusuke Yamamoto
テンプレートエンジンの話 #jjug
Yusuke Yamamoto
失敗から学ぶAPI設計 #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring
Yusuke Yamamoto
第2.1回Twitter API勉強会 - 検索API
1.
Yusuke Yamamoto
2.
第2.1回
Twitter API勉強会 #twtr_hack 2011/12/18 Yusuke Yamamoto
3.
質問など
#twtr_hack #q Yusuke Yamamoto
4.
Twitter API勉強会 • 対象
‣ Twitter APIに興味がある方であればどなたでも • 目的 ‣ 技術情報のシェア / 技術者の交流 • 今回は第2.1回目 Yusuke Yamamoto 4
5.
Twitter APIハッカソン • Twitter
と連携する何かを開発 ‣ Webサービス ‣ デスクトップアプリケーション/ユーティリティ ‣ モバイルアプリ など Yusuke Yamamoto 5
6.
第2.1回Twitter API勉強会 • @yusukey
‣ Twitter の検索API等 • @knj77 ‣ Zusaarについて何か • LT ‣ @tkawa / @mike_neck / @ts_3156 / @sue445 / @imaoca Yusuke Yamamoto 6
7.
今日のタイムテーブル 19:00∼ APIの基本と最新動向について @yusukey 19:40∼
グループに分かれて自己紹介 19:50∼ Zusaarについて何か @knj77 20:20∼ LT - OAuth Echoについて@tkawa - GroovyとQuartzとTwitter4Jの甘い生活G @mike_neck - 認証なしで使えるAPIまとめ @ts_3156 - TDD @sue445 - 放射線を自動計測してTwitterにつぶやくimaocandeの紹介 @imaoca Yusuke Yamamoto 7
8.
Twitter API ポケットリファレンス •
好評発売中! http://amzn.to/twtr-ref Yusuke Yamamoto 8
9.
第2.1回Twitter API勉強会 • 内容
‣ Twitter APIの検索API ‣ 最近のTwitter APIアップデート ‣ t.coリンクの対応方法 Yusuke Yamamoto 9
10.
Twitter の検索API Yusuke Yamamoto
11.
Twi$er'API REST'API'
' ' ' ' ' ' ' ' ' :' ' API :'Java,'Objec8ve9C ' API Streamed'Tweets' ,' ' Java,'Python,'PHP,'Ruby,'Objec8ve9C ' Web API ' Web'Intents :'Web ' ' @Anywhere :'HTML,'JavaScript' Yusuke Yamamoto 11
12.
検索 API • プル型
‣ 最近のツイートを検索 • https://twitter.com/#!/search-homeとほぼ同じ機能 Yusuke Yamamoto 12
13.
REST APIと検索 API •
2008年にTwitter検索エンジン-Summize社を買収 • 検索APIも技術的にはREST API • レスポンスのスキーマが異なる!!! https://dev.twitter.com/docs/api/1/get/search Yusuke Yamamoto 13
14.
検索 APIの呼び出し • エンドポイント(GET) ‣
http://search.twitter.com/search.json?q=**** • qパラメータ q : 検索クエリ ・ #twtr_hackを含むツイート q=#twtr_hack ・@yusukeyの#twtr_hackを含むツイート q=#twtr_hack+from:yusukey Yusuke Yamamoto 14
15.
検索 APIのレスポンス {"completed_in": 0.055442,
"max_id": 38516581864718336, "max_id_str": "38516581864718336", "next_page": "? page=2&max_id=38516581864718336&q=twitterapi", "page": 1, "query": "twitterapi", "refresh_url": "? since_id=38516581864718336&q=twitterapi", "results": [ {"created_at": "Fri, 18 Feb 2011 08:49:25 +0000", "from_user": "yusukey", "from_user_id": 10248, "from_user_id_str": "10248", "geo": null, "id": 38520449856045056, "id_str": "38520449856045056", "iso_language_code": "ja", "metadata": {"result_type": "recent"}, "profile_image_url": "http://a1.twimg.com/profile_images/ 1130177378/b_normal.jpg", "source": "<a href="http://sites.google.com/site/yorufukurou/ " rel="nofollow">YoruFukurou</a>", "text": "twitterapi今日は安定してるなー", "to_user_id": null, "to_user_id_str": null}, ...]} Yusuke Yamamoto 15
16.
期間を絞る ・sinceオペレータ : 指定した日(UTC)以降のツイート q=#twtr_hack+since:2011-12-21 ・untilオペレータ
: 指定した日(UTC)以前のツイート q=#twtr_hack+until:2011-12-21 Yusuke Yamamoto 16
17.
ページ処理 ・rpp: 1レスポンス当たりの最大ツイート数(最大100まで指定可) q=foobar&rpp=100 ・page: ページ(初期値は1、最大15まで) q=foobar&page=2 ・max_idパラメータ
: 指定したツイートID以前のツイート q=foobar&max_id=149144352336265217 Yusuke Yamamoto 17
18.
ページ処理ベストプラクティス Query query =
new Query(term); query.rpp(100); do { QueryResult qr = twitter.search(query); tweets = qr.getTweets(); for (Tweet tweet : tweets) { // ... } if (tweets.size() != 0) { query.setMaxId(tweets.get(tweets.size() - 1).getId() - 1); } } while (tweets.size() != 0); ・rppは100まで、pageは15まで 最大1500件までしか取れない→max_idパラメータで回せばok Twitter4Jを使った例 Yusuke Yamamoto 18
19.
最近のTwitter APIアップデート Yusuke
Yamamoto
20.
ストリーミングAPIの変更 ・エンドポイントがSSLのみに(9月末∼) 一般 https://stream.twitter.com/1/ ユーザーストリーム https://userstream.twitter.com/2/ サイトストリーム https://sitestream.twitter.com/2b/ Yusuke
Yamamoto 20
21.
検索APIのスキーマ変更1 ・ユーザー名の追加(12月からデフォルト) → to_user_name /
from_user_name ・in_reply_toの追加(12月からデフォルト) → 検索結果から会話を追える Yusuke Yamamoto 21
22.
検索APIのスキーマ変更2 ・エンティティの追加(include_entities=true
を指定) "entities": { "hashtags": [{"indices": [9, 19], "text": "twitter4j"}], "urls": [{ "display_url": "twitter4j.org/ja/api-supportu2026", "expanded_url": "http://twitter4j.org/ja/api-support.html", "indices": [35, 54], "url": "http://t.co/b6l2xlU"}], "user_mentions": [{ "id": 4933401, "id_str": "4933401", "indices": [0, 8], "name": "山本 裕介", "screen_name": "yusukey"}]}, "text": "@yusukey #twitter4j のAPIのページ更新しました http:// t.co/b6l2xlU" @yusukey #twitter4j のAPIのページ更新しました http://t.co/b6l2xlU user_mention hashtag url Yusuke Yamamoto 22
23.
t.coリンクの対応方法 Yusuke Yamamoto
24.
t.co • t.co: ティコ •
TwitterのURL短縮サービス ‣ 悪質なサイトへの誘導をブロック ‣ リンクのクリックスルー測定 ‣ ツイート文字数制限を緩和 The t.co URL Wrapper https://dev.twitter.com/docs/tco-url-wrapper Yusuke Yamamoto 24
25.
本当にあった怖いt.co • URLのつもりじゃないのにリンクになる ‣
仕様です・・ • 日本語(マルチバイト)を含むURLが・・・ ‣ dev.twitter.com またはTwitter development Talkへ報告を • リンク先のURLがわからない(クライアント依存) Yusuke Yamamoto 25
26.
t.co FAQ • t.coバグだらけ! ‣
かなり直ってます • t.coのクリック数を取得するAPIは? ‣ 現在のところ非公開 • 同じURLでも違うt.coリンクになる ‣ そういう仕様 Yusuke Yamamoto 26
27.
t.co FAQ • bit.lyのリンクをツイートした場合は? ‣
expanded_url / display_urlはbit.lyになる。2重展開はしない • include_entities=trueを付け忘れた・・ ‣ HEADリクエストでリダイレクト先を確認可能 Yusuke Yamamoto 27
28.
情報源 •
Twitter development talk-ja http://bit.ly/tdt-ja • @twj_dev https://twtter.com/twj_dev • dev.twitter.com - Discussions https://dev.twitter.com/discussions Yusuke Yamamoto
29.
今後の予定 12月 検索 API 1月
Streaming API 2月 Webサイト向け API 3月 API 利用規約 Yusuke Yamamoto
Download