Your SlideShare is downloading. ×
エンタープライズアプリケーション とTwitterの連携
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

エンタープライズアプリケーション とTwitterの連携

2,274
views

Published on

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,274
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Twitter 2011/7/28Twitter4J.orgCopyright(c) Yusuke Yamamoto All rights reserved. 1
  • 2. http://twitter4j.org/ http://samuraism.jp/ @yusukeyCopyright(c) Yusuke Yamamoto All rights reserved. 2
  • 3. • Twitter• Twitter API• Twitter• JavaEE Twitter• Copyright(c) Yusuke Yamamoto All rights reserved. 3
  • 4. Twitter TwitterCopyright(c) Yusuke Yamamoto All rights reserved. 4
  • 5. • • Twitter‣ ‣ 140 Copyright(c) Yusuke Yamamoto All rights reserved. 5
  • 6. • • Twitter ‣ ‣ / ‣ ‣ twitter.com ( ) ‣ ‣ ( ) 7 ‣ RSS ‣ ‣ Copyright(c) Yusuke Yamamoto All rights reserved. 6
  • 7. API• • Twitter‣ XML-RPC(Blogger API) ‣ REST API‣ ‣‣ Copyright(c) Yusuke Yamamoto All rights reserved. 7
  • 8. • • Twitter‣ ‣ (140 ) 140 ( ) ) ( )‣ ‣ ‣ (TypePad,Blogger ) ‣ ‣ CAPTHA ‣ CAPTHA Copyright(c) Yusuke Yamamoto All rights reserved. 8
  • 9. Twitter•• ‣ mixi•• API Copyright(c) Yusuke Yamamoto All rights reserved. 9
  • 10. Twitter APICopyright(c) Yusuke Yamamoto All rights reserved. 10
  • 11. Twitter API• REST API• Search API• Streaming API• Web API Copyright(c) Yusuke Yamamoto All rights reserved. 11
  • 12. REST API • REST: REpresentational State Transfer • HTTP APIGET /1/statuses/public_timeline.json HTTP/1.1Host: api.twitter.comHTTP/1.1 200 OKDate: Tue, 08 Feb 2011 07:52:51 GMTServer: hiStatus: 200 OKContent-Type: application/json; charset=utf-8Vary: Accept-EncodingConnection: close[{"source": "<a href="http://foursquare.com" rel="nofollow">foursquare</a>", "text": "Im at IKEA ( 2-2-2, ) [pic]: http://4sq.com/eOHZdS", ... "user": { "description": "Java rn Java rn#twitter4j#samurai", "name": " ", ...} }, ...] Copyright(c) Yusuke Yamamoto All rights reserved. 12
  • 13. Twitter REST API• ‣ ‣ ‣ ‣ Copyright(c) Yusuke Yamamoto All rights reserved. 13
  • 14. Search API• ‣• search.twitter.com Copyright(c) Yusuke Yamamoto All rights reserved. 14
  • 15. Streaming API••• Copyright(c) Yusuke Yamamoto All rights reserved. 15
  • 16. Web API• Web Intents ‣ Twitter ‣• @Anywhere ‣ JavaScript Twitter ‣ Copyright(c) Yusuke Yamamoto All rights reserved. 16
  • 17. Copyright(c) Yusuke Yamamoto All rights reserved. 17
  • 18. •• ‣ ‣ Copyright(c) Yusuke Yamamoto All rights reserved. 18
  • 19. • ‣ n•• http://fotopus.com/tough/news/c110304a/• Copyright(c) Yusuke Yamamoto All rights reserved. 19
  • 20. • Web• ‣• ‣ Web Web Copyright(c) Yusuke Yamamoto All rights reserved. 20
  • 21. •ASCII.jp 95 http://ascii.jp/elem/000/000/605/605027/ Copyright(c) Yusuke Yamamoto All rights reserved. 21
  • 22. •• ‣ ‣ Copyright(c) Yusuke Yamamoto All rights reserved. 22
  • 23. •• / Copyright(c) Yusuke Yamamoto All rights reserved. 23
  • 24. • Twitter Copyright(c) Yusuke Yamamoto All rights reserved. 24
  • 25. :• Twitter• CoTweet• HootSuite : Copyright(c) Yusuke Yamamoto All rights reserved. 25
  • 26. • • ‣ ‣ Twitter API ‣ api.twitter.com:443 ‣ SLA outbound ‣ inbout ‣ ‣ (C) Yiying Lu API ‣ Copyright(c) Yusuke Yamamoto All rights reserved. 26
  • 27. JavaEE Twitter Copyright(c) Yusuke Yamamoto All rights reserved. 27
  • 28. JavaEE Twitter• Twitter4J ‣ (Apache License 2.0) ‣ ‣ Twitter API ‣ Twitter API Twitter4J http://twitter4j.org/ Copyright(c) Yusuke Yamamoto All rights reserved. 28
  • 29. Twitter4J• http://twitter4j.org/ Copyright(c) Yusuke Yamamoto All rights reserved. 29
  • 30. Twitter4J (1)• dev.twitter.com Copyright(c) Yusuke Yamamoto All rights reserved. 30
  • 31. Twitter4J (2)•• twitter4j.properties twitter4j.properties oauth.consumerKey=[ ] oauth.consumerSecret=[ ] oauth.accessToken=[ ] oauth.accessTokenSecret=[ ] : Twitter4J - http://twitter4j.org/ja/configuration.html Copyright(c) Yusuke Yamamoto All rights reserved. 31
  • 32. Twitter4J (3) • Twitter APIimport twitter4j.*;import javax.servet.*;import javax.servet.http.*;public class HelloTwitterServlet extends HTTPServlet{ protected void doGet(ServletRequest req, ServletResponse res){ Twitter twitter = new TwitterFactory().getInstance(); twitter.updateStatus(“Hello World!”); req.getRequestDispatcher().forward(“WEB-INF/jsps/index.jsp”); }} : Twitter4J - http://twitter4j.org/ja/code-examples.html Copyright(c) Yusuke Yamamoto All rights reserved. 32
  • 33. Twitter4J (4)• Copyright(c) Yusuke Yamamoto All rights reserved. 33
  • 34. Twitter4J (5)• : Twitter4J - API http://twitter4j.org/ja/api-support.html Copyright(c) Yusuke Yamamoto All rights reserved. 34
  • 35. Copyright(c) Yusuke Yamamoto All rights reserved. 35
  • 36. ••• Twitter API Copyright(c) Yusuke Yamamoto All rights reserved. 36
  • 37. • ‣ Twitter ‣ ‣• ‣ DM Copyright(c) Yusuke Yamamoto All rights reserved. 37
  • 38. • API‣ SSL‣ twitter4j.properties useSSL (Twitter4J HTTP) twitter4j.properties http.useSSL=true Copyright(c) Yusuke Yamamoto All rights reserved. 38
  • 39. • Twitter API ‣ API• ‣ Twitter4J• ‣ MDB ‣ Copyright(c) Yusuke Yamamoto All rights reserved. 39
  • 40. • Twitter4J• twitter4j.properties http.retryCount=5 http.retryIntervalSecs=10 Copyright(c) Yusuke Yamamoto All rights reserved. 40
  • 41. (1/2)• Message Driven Beanpackage twittermdb;import javax.jms.MessageListener;@MessageDriven(mappedName="jms/Queue")public class TwitterMDB implements MessageListener { Twitter twitter = new TwitterFactory().getInstance(); public void onMessage(javax.jms.Message msg) { try{ twitter.updateStatus(((TextMessage)msg).getText()); }catch(TwitterException te){ throw new EJBException(te); } }} Copyright(c) Yusuke Yamamoto All rights reserved. 41
  • 42. (2/2)• 5000 Copyright(c) Yusuke Yamamoto All rights reserved. 42
  • 43. Twitter API• Twitter API ‣ afterCompletionimport javax.ejb.*;@Stateless(name = "tweet", mappedName = "tweet")public class TweetSLSB { public void sayHello(){ System.out.println("hello"); } @AfterCompletion public void afterCompletion(boolean committed){ if(committed){ try{ twitter.updateStatus(((TextMessage)msg).getText()); }catch(TwitterException te){ throw new EJBException(te); } } }} Copyright(c) Yusuke Yamamoto All rights reserved. 43
  • 44. • Twitter• Java(EE) Twitter API• Twitter API JavaEE / WebLogic Copyright(c) Yusuke Yamamoto All rights reserved. 44
  • 45. Twitter API• http://amzn.to/iUeXjm Copyright(c) Yusuke Yamamoto All rights reserved. 45
  • 46. Twitter API• http://bit.ly/wls_twtr #present_twtr_ref Copyright(c) Yusuke Yamamoto All rights reserved. 46