SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
Twitter
              2011/7/28

Twitter4J.org



Copyright(c) Yusuke Yamamoto All rights reserved.   1
http://twitter4j.org/

            http://samuraism.jp/
            @yusukey

Copyright(c) Yusuke Yamamoto All rights reserved.   2
• Twitter
• Twitter API
•              Twitter

• JavaEE Twitter
•


             Copyright(c) Yusuke Yamamoto All rights reserved.   3
Twitter
               Twitter



Copyright(c) Yusuke Yamamoto All rights reserved.   4
•                                   • Twitter
‣                                    ‣ 140




    Copyright(c) Yusuke Yamamoto All rights reserved.   5
•                                         • Twitter
    ‣                                        ‣              /


    ‣                                        ‣      twitter.com           (   )


    ‣                                        ‣                            (           )

                                                                      7

    ‣       RSS

        ‣
        ‣

                  Copyright(c) Yusuke Yamamoto All rights reserved.               6
API
•                                    • Twitter
‣   XML-RPC(Blogger API)                 ‣     REST API

‣                                        ‣
‣




                   Copyright(c) Yusuke Yamamoto All rights reserved.   7
•                                           • Twitter
‣                                               ‣
                                                              (140            )       140
    (                 )
                                                     )
    (             )

‣
                                                ‣
    ‣
        (TypePad,Blogger )                            ‣
    ‣   CAPTHA                                        ‣     CAPTHA


                          Copyright(c) Yusuke Yamamoto All rights reserved.       8
Twitter
•
•
    ‣   mixi

•
•        API




               Copyright(c) Yusuke Yamamoto All rights reserved.   9
Twitter API



Copyright(c) Yusuke Yamamoto All rights reserved.   10
Twitter API
• REST API
• Search API
• Streaming API
• Web                     API




                  Copyright(c) Yusuke Yamamoto All rights reserved.   11
REST API
        • REST: REpresentational State Transfer
        • HTTP API
GET /1/statuses/public_timeline.json HTTP/1.1
Host: api.twitter.com


HTTP/1.1 200 OK
Date: Tue, 08 Feb 2011 07:52:51 GMT
Server: hi
Status: 200 OK
Content-Type: application/json; charset=utf-8
Vary: Accept-Encoding
Connection: close

[{"source": "<a href="http://foursquare.com" rel="nofollow">foursquare</a>",
  "text": "I'm 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
Twitter                       REST API
•
    ‣
    ‣
    ‣
    ‣



        Copyright(c) Yusuke Yamamoto All rights reserved.   13
Search API
•
    ‣
• search.twitter.com




           Copyright(c) Yusuke Yamamoto All rights reserved.   14
Streaming API
•
•

•



     Copyright(c) Yusuke Yamamoto All rights reserved.   15
Web                                                              API

• Web Intents
   ‣                                               Twitter

   ‣

• @Anywhere
   ‣   JavaScript Twitter

   ‣
               Copyright(c) Yusuke Yamamoto All rights reserved.         16
Copyright(c) Yusuke Yamamoto All rights reserved.   17
•


•
    ‣
    ‣

        Copyright(c) Yusuke Yamamoto All rights reserved.   18
•
    ‣                                            n

•
•

           http://fotopus.com/tough/news/c110304a/


•       Copyright(c) Yusuke Yamamoto All rights reserved.   19
• Web
•
    ‣
•
    ‣   Web                              Web




              Copyright(c) Yusuke Yamamoto All rights reserved.   20
•




ASCII.jp       95
           http://ascii.jp/elem/000/000/605/605027/

              Copyright(c) Yusuke Yamamoto All rights reserved.   21
•
•
    ‣
    ‣




        Copyright(c) Yusuke Yamamoto All rights reserved.   22
•
•   /




        Copyright(c) Yusuke Yamamoto All rights reserved.   23
• Twitter




            Copyright(c) Yusuke Yamamoto All rights reserved.   24
:
• Twitter
• CoTweet
• HootSuite                                                       :




              Copyright(c) Yusuke Yamamoto All rights reserved.       25
•                                                •
    ‣                                               ‣      Twitter API

        ‣ api.twitter.com:443                       ‣                        SLA
            outbound

        ‣ inbout

    ‣
        ‣                                                                          (C) Yiying Lu


                                                             API
        ‣
                         Copyright(c) Yusuke Yamamoto All rights reserved.                    26
JavaEE Twitter



  Copyright(c) Yusuke Yamamoto All rights reserved.   27
JavaEE Twitter
• Twitter4J
 ‣                       (Apache License 2.0)

 ‣
 ‣   Twitter API

 ‣   Twitter API


                            Twitter4J                  http://twitter4j.org/




                   Copyright(c) Yusuke Yamamoto All rights reserved.           28
Twitter4J
• http://twitter4j.org/




                 Copyright(c) Yusuke Yamamoto All rights reserved.   29
Twitter4J                                                   (1)
• dev.twitter.com




               Copyright(c) Yusuke Yamamoto All rights reserved.         30
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
Twitter4J                                                     (3)
  • Twitter                                                     API
import 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
Twitter4J                                               (4)
•




        Copyright(c) Yusuke Yamamoto All rights reserved.         33
Twitter4J                                                      (5)
•




    : Twitter4J -        API http://twitter4j.org/ja/api-support.html

                    Copyright(c) Yusuke Yamamoto All rights reserved.         34
Copyright(c) Yusuke Yamamoto All rights reserved.   35
•
•
•                       Twitter API




    Copyright(c) Yusuke Yamamoto All rights reserved.   36
•
    ‣        Twitter

    ‣


    ‣
•
    ‣   DM
             Copyright(c) Yusuke Yamamoto All rights reserved.   37
• API
‣   SSL

‣   twitter4j.properties      useSSL

    (Twitter4J                  HTTP)

                                                                     twitter4j.properties

          http.useSSL=true




                      Copyright(c) Yusuke Yamamoto All rights reserved.                     38
• Twitter API
    ‣          API

•
    ‣   Twitter4J

•
    ‣   MDB

    ‣
                     Copyright(c) Yusuke Yamamoto All rights reserved.   39
• Twitter4J
•
                                                            twitter4j.properties

  http.retryCount=5
  http.retryIntervalSecs=10




              Copyright(c) Yusuke Yamamoto All rights reserved.                    40
(1/2)
• Message Driven Bean
package 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
(2/2)
•


                                                        5000




    Copyright(c) Yusuke Yamamoto All rights reserved.           42
Twitter API
• Twitter API
  ‣   afterCompletion
import 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
•
    Twitter

• Java(EE) Twitter API
• Twitter API                                         JavaEE /
    WebLogic




               Copyright(c) Yusuke Yamamoto All rights reserved.   44
Twitter API
•




        http://amzn.to/iUeXjm
             Copyright(c) Yusuke Yamamoto All rights reserved.   45
Twitter API
•




      http://bit.ly/wls_twtr
         #present_twtr_ref
               Copyright(c) Yusuke Yamamoto All rights reserved.   46

Más contenido relacionado

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

前端测试之淘宝实践
前端测试之淘宝实践前端测试之淘宝实践
前端测试之淘宝实践
chencheng 云谦
 
【前端测试】淘宝前端测试实践
【前端测试】淘宝前端测试实践【前端测试】淘宝前端测试实践
【前端测试】淘宝前端测试实践
taobao.com
 
地球で一番熱いライブラリ
地球で一番熱いライブラリ地球で一番熱いライブラリ
地球で一番熱いライブラリ
Yusuke Yamamoto
 

Similar a エンタープライズアプリケーション とTwitterの連携 (20)

Big Data Baseball with Python - Ichiro Suzuki hacks! #kwsk01
Big Data Baseball with Python - Ichiro Suzuki hacks! #kwsk01Big Data Baseball with Python - Ichiro Suzuki hacks! #kwsk01
Big Data Baseball with Python - Ichiro Suzuki hacks! #kwsk01
 
Twitter Platform 2013
Twitter Platform 2013Twitter Platform 2013
Twitter Platform 2013
 
CloudSkew Architecture
CloudSkew ArchitectureCloudSkew Architecture
CloudSkew Architecture
 
tumblr用クライアントアプリケーションの開発 @ KLabインターン成果発表
tumblr用クライアントアプリケーションの開発 @ KLabインターン成果発表 tumblr用クライアントアプリケーションの開発 @ KLabインターン成果発表
tumblr用クライアントアプリケーションの開発 @ KLabインターン成果発表
 
Onsg10 Intro Termtter
Onsg10 Intro TermtterOnsg10 Intro Termtter
Onsg10 Intro Termtter
 
Open Network Live - Chirp 情報共有
Open Network Live - Chirp 情報共有Open Network Live - Chirp 情報共有
Open Network Live - Chirp 情報共有
 
Demo Pivotal Circle Of Code
Demo Pivotal Circle Of CodeDemo Pivotal Circle Of Code
Demo Pivotal Circle Of Code
 
[131] packetbeat과 elasticsearch
[131] packetbeat과 elasticsearch[131] packetbeat과 elasticsearch
[131] packetbeat과 elasticsearch
 
Kotti 紹介
Kotti 紹介Kotti 紹介
Kotti 紹介
 
前端测试之淘宝实践
前端测试之淘宝实践前端测试之淘宝实践
前端测试之淘宝实践
 
Yapc8oji: セキュリティテストサービスを開発運営してきた2年
Yapc8oji: セキュリティテストサービスを開発運営してきた2年Yapc8oji: セキュリティテストサービスを開発運営してきた2年
Yapc8oji: セキュリティテストサービスを開発運営してきた2年
 
How to make the calculator
How to make the calculatorHow to make the calculator
How to make the calculator
 
ビックデータとPythonではじめる野球の統計分析 #pyconjp
ビックデータとPythonではじめる野球の統計分析 #pyconjpビックデータとPythonではじめる野球の統計分析 #pyconjp
ビックデータとPythonではじめる野球の統計分析 #pyconjp
 
Pythonistaデビュー #PyNyumon 2016/5/31
Pythonistaデビュー #PyNyumon 2016/5/31Pythonistaデビュー #PyNyumon 2016/5/31
Pythonistaデビュー #PyNyumon 2016/5/31
 
Ti.developers.meeting
Ti.developers.meetingTi.developers.meeting
Ti.developers.meeting
 
分享無名小站 API
分享無名小站 API分享無名小站 API
分享無名小站 API
 
【前端测试】淘宝前端测试实践
【前端测试】淘宝前端测试实践【前端测试】淘宝前端测试实践
【前端测试】淘宝前端测试实践
 
My Adventures in Twitch Dev
My Adventures  in Twitch DevMy Adventures  in Twitch Dev
My Adventures in Twitch Dev
 
Bitbucket&mercurial
Bitbucket&mercurialBitbucket&mercurial
Bitbucket&mercurial
 
地球で一番熱いライブラリ
地球で一番熱いライブラリ地球で一番熱いライブラリ
地球で一番熱いライブラリ
 

Más de Yusuke Yamamoto

WebStormから始まる快適Web開発ワークフロー #html5jk
WebStormから始まる快適Web開発ワークフロー #html5jkWebStormから始まる快適Web開発ワークフロー #html5jk
WebStormから始まる快適Web開発ワークフロー #html5jk
Yusuke Yamamoto
 
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...
Yusuke Yamamoto
 
Twitter API最新事情 - API Meetup Tokyo #1 #apijp
Twitter API最新事情 - API Meetup Tokyo #1 #apijpTwitter API最新事情 - API Meetup Tokyo #1 #apijp
Twitter API最新事情 - API Meetup Tokyo #1 #apijp
Yusuke Yamamoto
 
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Yusuke Yamamoto
 
貧乏人のHeroku活用術 #herokujp
貧乏人のHeroku活用術 #herokujp貧乏人のHeroku活用術 #herokujp
貧乏人のHeroku活用術 #herokujp
Yusuke Yamamoto
 
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
Yusuke Yamamoto
 

Más de Yusuke Yamamoto (20)

株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokai
株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokai株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokai
株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokai
 
これからはじめるGit、GitHub #stapy
これからはじめるGit、GitHub #stapyこれからはじめるGit、GitHub #stapy
これからはじめるGit、GitHub #stapy
 
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
 
JetBrains IDEハンズオン
JetBrains IDEハンズオンJetBrains IDEハンズオン
JetBrains IDEハンズオン
 
Java Küche 2016 LT 在室状況自動通知ボット #JavaKueche
Java Küche 2016 LT 在室状況自動通知ボット #JavaKuecheJava Küche 2016 LT 在室状況自動通知ボット #JavaKueche
Java Küche 2016 LT 在室状況自動通知ボット #JavaKueche
 
Java Küche 2016 #JavaKueche
Java Küche 2016 #JavaKuecheJava Küche 2016 #JavaKueche
Java Küche 2016 #JavaKueche
 
JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...
JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...
JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...
 
WebStormから始まる快適Web開発ワークフロー #html5jk
WebStormから始まる快適Web開発ワークフロー #html5jkWebStormから始まる快適Web開発ワークフロー #html5jk
WebStormから始まる快適Web開発ワークフロー #html5jk
 
データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug
データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug
データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug
 
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...
 
カジュアルにスレッドダンプ - @yusuke #javacasual
カジュアルにスレッドダンプ - @yusuke #javacasualカジュアルにスレッドダンプ - @yusuke #javacasual
カジュアルにスレッドダンプ - @yusuke #javacasual
 
Excel方眼紙アプリケーションサーバと侍の新機能 #jjug
Excel方眼紙アプリケーションサーバと侍の新機能 #jjugExcel方眼紙アプリケーションサーバと侍の新機能 #jjug
Excel方眼紙アプリケーションサーバと侍の新機能 #jjug
 
Twitter4jハンズオン 5/1 #twtr_hack
Twitter4jハンズオン 5/1 #twtr_hackTwitter4jハンズオン 5/1 #twtr_hack
Twitter4jハンズオン 5/1 #twtr_hack
 
株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai
株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai 株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai
株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai
 
Botを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjug
Botを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjugBotを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjug
Botを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjug
 
Twitter API最新事情 - API Meetup Tokyo #1 #apijp
Twitter API最新事情 - API Meetup Tokyo #1 #apijpTwitter API最新事情 - API Meetup Tokyo #1 #apijp
Twitter API最新事情 - API Meetup Tokyo #1 #apijp
 
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
 
貧乏人のHeroku活用術 #herokujp
貧乏人のHeroku活用術 #herokujp貧乏人のHeroku活用術 #herokujp
貧乏人のHeroku活用術 #herokujp
 
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
 
JavaScript時代のJava #kansumiB7 #kansumi
JavaScript時代のJava #kansumiB7 #kansumiJavaScript時代のJava #kansumiB7 #kansumi
JavaScript時代のJava #kansumiB7 #kansumi
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

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

  • 1. Twitter 2011/7/28 Twitter4J.org Copyright(c) Yusuke Yamamoto All rights reserved. 1
  • 2. http://twitter4j.org/ http://samuraism.jp/ @yusukey Copyright(c) Yusuke Yamamoto All rights reserved. 2
  • 3. • Twitter • Twitter API • Twitter • JavaEE Twitter • Copyright(c) Yusuke Yamamoto All rights reserved. 3
  • 4. Twitter Twitter Copyright(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 API Copyright(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 API GET /1/statuses/public_timeline.json HTTP/1.1 Host: api.twitter.com HTTP/1.1 200 OK Date: Tue, 08 Feb 2011 07:52:51 GMT Server: hi Status: 200 OK Content-Type: application/json; charset=utf-8 Vary: Accept-Encoding Connection: close [{"source": "<a href="http://foursquare.com" rel="nofollow">foursquare</a>", "text": "I'm 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 API import 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 Bean package 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 ‣ afterCompletion import 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