Your SlideShare is downloading. ×
0
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション と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,341

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,341
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

×