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
240
日本語プログラミングとSpring Bootアプリケーション開発 #kanjava
yusuke
2
510
Python開発環境 - PyCharmとAI #stapy
yusuke
1
65
PhpStorm超絶技巧40分集中講義 #phpconkagawa
yusuke
6
1.8k
PhpStorm超絶技巧20分集中講座 #phpcon_odawara #kama
yusuke
2
960
PHPカンファレンス北海道 - PhpStorm最新情報 #phpcondo
yusuke
1
180
PhpStorm最新情報 AIとnew UI、便利プラグイン #phpcon_okinawa
yusuke
0
420
最新JavaとIDE #jjug
yusuke
1
420
#projava #jjug 転生したらプロのJavaだった件
yusuke
1
330
Other Decks in Technology
See All in Technology
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
14k
LLMプロダクトの信頼性を上げるには?LLM Observabilityによる、対話型音声AIアプリケーションの安定運用
ivry_presentationmaterials
0
740
速習AGENTS.md:5分で精度を上げる "3ブロック" テンプレ
ismk
6
1.9k
Kubernetes self-healing of your workload
hwchiu
0
320
[2025年10月版] Databricks Data + AI Boot Camp
databricksjapan
1
230
FinOps について (ちょっと) 本気出して考えてみた
skmkzyk
0
190
Findy Team+ QAチーム これからのチャレンジ!
findy_eventslides
0
490
旅で応援する✈️ NEWTが目指すコミュニティ支援とあたらしい旅行 / New Travel: Supporting by NEWT on Your Journey
mii3king
0
120
映像エッジAIにおけるNode-RED活用事例
emirmatsui
0
120
JSConf JPのwebsiteをGatsbyからNext.jsに移行した話 - Next.jsの多言語静的サイトと課題
leko
2
160
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
Click A, Buy B: Rethinking Conversion Attribution in ECommerce Recommendations
lycorptech_jp
PRO
0
120
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Writing Fast Ruby
sferik
629
62k
Producing Creativity
orderedlist
PRO
347
40k
Docker and Python
trallard
46
3.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Bash Introduction
62gerente
615
210k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
920
Fireside Chat
paigeccino
40
3.7k
Scaling GitHub
holman
463
140k
The World Runs on Bad Software
bkeepers
PRO
72
11k
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Ξοϓσʔτ