Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
企業システムにおけるTwitter API適用事例とTwitter4Jアップデート #Twit...
Search
yusuke
September 17, 2022
Technology
0
240
企業システムにおけるTwitter API適用事例とTwitter4Jアップデート #TwitterDevJP
yusuke
September 17, 2022
Tweet
Share
More Decks by yusuke
See All by yusuke
JetBrainsのAI機能の紹介 #jjug
yusuke
0
220
日本語プログラミングとSpring Bootアプリケーション開発 #kanjava
yusuke
2
500
Python開発環境 - PyCharmとAI #stapy
yusuke
1
60
PhpStorm超絶技巧40分集中講義 #phpconkagawa
yusuke
6
1.7k
PhpStorm超絶技巧20分集中講座 #phpcon_odawara #kama
yusuke
2
940
PHPカンファレンス北海道 - PhpStorm最新情報 #phpcondo
yusuke
1
180
PhpStorm最新情報 AIとnew UI、便利プラグイン #phpcon_okinawa
yusuke
0
410
最新JavaとIDE #jjug
yusuke
1
420
#projava #jjug 転生したらプロのJavaだった件
yusuke
1
330
Other Decks in Technology
See All in Technology
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
230
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
300
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
240
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
430
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1k
20250903_1つのAWSアカウントに複数システムがある環境におけるアクセス制御をABACで実現.pdf
yhana
3
550
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
460
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
Android Audio: Beyond Winning On It
atsushieno
0
110
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
21
10k
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
800
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Unsuck your backbone
ammeep
671
58k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Visualization
eitanlees
148
16k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Fireside Chat
paigeccino
39
3.6k
A designer walks into a library…
pauljervisheath
207
24k
Agile that works and the tools we love
rasmusluckow
330
21k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Transcript
اۀγεςϜʹ͓͚Δ Twitter APIద༻ࣄྫ @yusuke ࢁຊϢʔεέ ͱTwitter4JΞοϓσʔτ
w+BWB͖ͷ044σϕϩού w+BWBνϟϯϐΦϯ w5XJUUFS+࡞ऀ ͖ͳϒΩγϟʔϓϚʔΧʔ ϑϨϯυίʔυ48
5IFUJNFMJOF w ݄5XJUUFSɺ5XJUUFS"1*Λൃݟ w ݄5XJUUFS+ΛϦϦʔε w "1*͕͖͗ͯ͢5XJUUFSʹೖࣾ %FWFMPQFS"EWPDBUFͱͯ͠ ࠃσϕϩούͷࢧԉɺ%FWFMPQFS5FBUJNFͷ։࠵ w
ʙגࣜձࣾαϜϥΠζϜઃཱ
ྑ͋͘Δ5XJUUFS"1*ͷࣄྫ wΩϟϯϖʔϯ wήʔϜͰ࣮ΛπΠʔτ wট w4/4ΞΧϯτϩάΠϯ ίϯγϡʔϚ͚ͷద༻͕ଟ͍
גࣜձࣾαϜϥΠζϜ ւ֎ͷπʔϧɺαʔϏεൢച +FU#SBJOTɺ(JU)VCɺ%BUBEPH ࣗࣾ։ൃɾൢച !$*DMPOF
wࣾɺӦۀɺٕज़αϙʔτ໊ͷྵࡉاۀ wൢγεςϜɺ&$γεςϜ w๏ਓސ٬ઍɺݸਓސ٬ສ גࣜձࣾαϜϥΠζϜ ۀޮԽͷҰͱͯ͠Twitter APIΛར༻
גࣜձࣾαϜϥΠζϜγεςϜߏ &$ ൢചཧ ࢮ׆ࢹ ग़ୀࣾ௨
Ӧۀ࣌ؒ֎ɺॕٳʹ5XJUUFS%.Ͱ௨ &$ උߟཝʹ͍߹Θ͕ͤهࡌ ܾࡁ࣌ɺΧʔυ໊ٛ૬ҧ ॕٳɾӦۀ࣌ؒఆIUUQTHJUIVCDPNZVTVLFCVTJOFTT$BMFOEBS+ ൢചཧ ফ͠ࠐΈ࣌ɺֹۚෆҰக
ࢮ׆ࢹ αʔόμϯ ϨεϙϯεԆ αʔόূ໌ॻ༗ޮظݶ 5XJUUFS%.Ͱ௨
ग़ࣾୀࣾͰπΠʔτ ग़ୀࣾ௨ ग़ୀࣾঢ়گΛπΠʔτ
اۀͷ5XJUUFS"1*ར༻ wӦۀ࣌ؒ֎ॕٳʹ௨ wγεςϜͷΠϕϯτ wࣗಈԽͰग़དྷͳ͍ঝೝϫʔΫϑϩʔ wϚʔέςΟϯά w8FCαΠτ63-ɺϋογϡλάɺ໊Τΰα w$3. w%.ɺ!πΠʔτͰސ٬ରԠ
5XJUUFS࿈ܞ͢ΔϝϦοτ ʮ͍ͭݟ͍ͯΔπʔϧʯΛ͑Δ Ϟχλεɺʮར༻࣮ଶௐࠪϏδωενϟοτπʔϧฤʯΛൃදIUUQTNPOJUBTDPKQDIBU@UPPM
5XJUUFS࿈ܞ͢ΔϝϦοτ wը໘Λ࡞͢Δඞཁ͕ͳ͍ wํͷΓͱΓ؆୯ wϫϯλονͰΠϯλϥΫτՄೳ 2VJDLSFTQPOTFˠ
None
Ͳͷ"1*Λ͏͖͔ w"1*W "1*W w6TFS4USFBNTͷସʁ
WΛ͏ϝϦοτ wWʹ͔͠Ͱ͖ͳ͍͜ͱ wεϖʔεɺϒοΫϚʔΫͷΞΫηε
৽نʹAPIΛѻ͏ͳΒv2͕ѹతʹ͔Γ͍͢ WΛ͏ϝϦοτ w࣮ࡍͷ6*༻ޠͱ"1*༻ޠ͕౷Ұ͞Ε͍ͯΔ ྫ w"1*WGPMMPXFSGSJFOE w"1*WGPMMPXFSGPMMPXJOH
WΛ͏ϝϦοτ w"1*ઃܭ͕ϞμϯྫϑΥϩʔΛ֎͢ w7 %&-&5&VTFST\TPVSDF@VTFS@JE^GPMMPXJOH\UBSHFU@VTFS@JE^ w7 1045GSJFOETIJQTEFTUSPZKTPO VTFS@JE\VTFS@JE^
"1*WͰग़དྷͳ͍͜ͱ͋Δ wྫμΠϨΫτϝοηʔδૹड৴ IUUQTUSFMMPDPNCNZGS,X7UXJUUFSEFWFMPQFSQMBUGPSNSPBENBQ
"1*WʁWʁ w"1*WͰग़དྷΔ͜ͱ"1*WͰ wطଘΞϓϦٸ͍ͰҠߦ͢Δඞཁͳͦ͞͏
ΈΜͳେ͖6TFS4USFBNTͷସʁ w"DDPVOU"DUJWJUZ"1* w8FCIPPLͰϑΥϩʔɺ%.ͷ௨Λड৴ w࠶ଓॲཧෆཁ IUUQTEFWFMPQFSUXJUUFSDPNKBEPDTUVUPSJBMTHFUUJOHTUBSUFEXJUIUIFBDDPVOUBDUJWJUZBQJ
ΈΜͳେ͖6TFS4USFBNTͷସʁ w"DDPVOU"DUJWJUZ"1* w8FCIPPLͰϑΥϩʔɺ%.ͷ௨Λड৴ w࠶ଓॲཧෆཁ IUUQTEFWFMPQFSUXJUUFSDPNKBEPDTUVUPSJBMTHFUUJOHTUBSUFEXJUIUIFBDDPVOUBDUJWJUZBQJ ΫϥΠΞϯτΞϓϦ։ൃʹෆ͖
5XJUUFS+ϩʔυϚοϓ wཁ+BWB w"1*Wαϙʔτ wϞμϯͳΠϯλʔϑΣʔε wϞδϡʔϧαϙʔτ w!/VMMBCMF!/PU/VMM!3BOHFΞϊςʔτ w"DDPVOU"DUJWJUZ"1*αϙʔτ
ϞμϯͳΠϯλʔϑΣʔε Twitter twitter = new TwitterFactory(new ConfigurationBuilder() .setOAuthConsumerKey("my consumer key")
.setOAuthConsumerSecret("my consumer secret") .build()).getInstance(); Twitter twitter = Twitter.newBuilder() .oAuthConsumerKey("my consumer key") .oAuthConsumerSecret("my consumer secret") .build();
Ϟδϡʔϧαϙʔτ
!/VMMBCMF!/PU/VMM!3BOHFΞϊςʔτ ݱߦ 3BOHFΞϊςʔτ͖
"DDPVOU"DUJWJUZ"1*αϙʔτ var activity = TwitterAccountActivity.newBuilder() .onDirectMessageReceived(dm -> System.out.printf("direct message received:%s"
, dm.getText())) .onMention(tweet -> System.out.printf("mention received:%s" , tweet.getText())) .onPort(8080).build(); activity.start(); activity.await();
3&45"1* ΠϕϯτυϦϒϯ var restActivity = TwitterRestBasedAccountActivity .newBuilder() .onDirectMessageReceived(dm -> System.out.printf("direct
message received:%s" , dm.getText())) .onMention(tweet -> System.out.printf("direct message received:%s" , tweet.getText())) .pollIntervalSeconds(60).build(); restActivity.start(); restActivity.await();
IUUQTHJUIVCDPN5XJUUFS+5XJUUFS+
ਐԽ͢Δ5XJUUFS ਐԽ͢Δ5XJUUFS"1* "1*Λ׆༻ͯ͠ҰॹʹਐԽ͠·͠ΐ͏ʂ
اۀγεςϜʹ͓͚Δ Twitter APIద༻ࣄྫ @yusuke ࢁຊϢʔεέ ͱTwitter4JΞοϓσʔτ