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
280
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
企業システムにおけるTwitter API適用事例とTwitter4Jアップデート #TwitterDevJP
yusuke
September 17, 2022
More Decks by yusuke
See All by yusuke
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
490
JetBrainsのAI機能の紹介 #jjug
yusuke
0
350
日本語プログラミングとSpring Bootアプリケーション開発 #kanjava
yusuke
3
830
Python開発環境 - PyCharmとAI #stapy
yusuke
1
120
PhpStorm超絶技巧40分集中講義 #phpconkagawa
yusuke
6
2.1k
PhpStorm超絶技巧20分集中講座 #phpcon_odawara #kama
yusuke
2
1.1k
PHPカンファレンス北海道 - PhpStorm最新情報 #phpcondo
yusuke
1
220
PhpStorm最新情報 AIとnew UI、便利プラグイン #phpcon_okinawa
yusuke
0
480
最新JavaとIDE #jjug
yusuke
1
500
Other Decks in Technology
See All in Technology
個人OSSが、机の上から世界に広がるまでの話
shinyasaita
1
340
LangfuseによるLLMOps基盤の構築と活用事例
zozotech
PRO
1
290
PLaMoを毎日の開発で使い育てていく
pfn
PRO
0
180
タクシーアプリ『GO』の実践的データ活用〜位置情報データの収集とStreamlitでの可視化〜
mot_techtalk
2
200
サイバー捜査員研修(前半)
nomizone
1
1.7k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
AI エージェント時代のデジタルアイデンティティ
fujie
3
1.4k
Pavlokで始める電撃駆動開発
sgrsn
0
170
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
230
JavaScript 研修 (2026)
recruitengineers
PRO
0
300
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
110
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
160
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The Spectacular Lies of Maps
axbom
PRO
1
890
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
480
Crafting Experiences
bethany
1
240
4 Signs Your Business is Dying
shpigford
187
22k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
How GitHub (no longer) Works
holman
316
150k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
460
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Ξοϓσʔτ