SlideShare a Scribd company logo
1 of 26
第2.1回 ツイッターAPI勉強会
認証なしで使える簡単なAPI紹介
      2011/12/21
       @ts_3156
自己紹介
篠原照樹(しのはらてるき)
筑波大学大学院 コンピュータサイエンス専攻 修士2年
卒論・修論: 共感覚
えごったー   : http://www.egotter.com
共感覚     : http://www.synaesthesia.jp
ブログ      : http://hivecolor.com
ツイッター   : @ts_3156

面白い人常に探してます!
せっかく会ったからには何か話しましょう!

                                       2
「えごったー」作ってます




               3
えごったーって何?
・ツイッターのフォロー情報を可視化
・アカウント名を入力するだけで使える
・認証情報は不要です →誰の情報でも見れます


約4000回/日くらい
使われてます!


                         4
今日居るのはどんな人たち?
• 31人中、22名が職業エンジニア
        技能                人数
        Java              5
        PHP               4
        Python            3
        Perl              2
        JavaScript        2
        Android           8
        iPhone            1
        App Engine(GAE)   5
        エンジニア             22
        個人開発者             8
今日発表すること
• 認証なしのAPIを使って、
 – ツイートをHPに埋め込む方法
 – ツイッター検索の結果をHPに埋め込む方法
 – ツイートされた回数をHPに埋め込む方法


• この場にいる人には不要な話…?
認証なしって具体的にどういうこと?
• Oauthが不要
• GETリクエストだけでOK
• 返ってくるのはJSON形式
 – HTMLのスクレイピングは含みません!


• (追記)HTMLスクレイピングとは
 – HTMLデータを取得して、自分が必要な部分のみ
   抜き出す技術のことです。正規の手順ではない
   ため、基本的にやってはいけないことです。
認証が不要なAPIはたくさんある
• 認証が不要
  – フォロー、フォロワー、ツイート、検索結果の取得
• 認証が必要
  – ブロックした・された、非公開ツイート、メンション一覧、
    非公開リスト、リムーブした・されたの取得

• 今回紹介するのは赤字の部分

• (ほぼ)全部の一覧はtwitter4jのページにあります
  http://twitter4j.org/en/api-support.html
(補足)そもそもツイッターAPIって何?
• http://www.twitter.com/statuses/
  user_timeline/[スクリーンネーム].json

 ↑こんな感じのURLにアクセスすることで簡単
 にデータを取得する方法のことを『API』と呼び
 ます。

• さらに、
  – スクリーンネームとは、「@○○」のことです。
さっそく、ツイートを埋め込むコードの
      紹介をします!
ツイートを埋め込んだ結果を
   先にお見せします
ツイート埋め込み結果 拡大版
ツイッター公式の埋め込みガジェット
  は自由にデザインをいじれない



• デザインがいじれない
• 自動でスクロールされていく

• 自分で埋め込んだツイートな
  ら、デザイン(HTMLやCSS)を
  自由にいじれる!
ツイートの取得と埋め込みコードは
         たったこれだけ




↑基本的にはこのHTMLだけでツイートが埋め込めます

twitter.jsはこちら
http://www.synaesthesia.jp/twitter/scripts/twitter.js

CSS、JavaScript全部のせのサンプルはこちら
http://www.synaesthesia.jp/twitter/example.html
ツイートの取得に使っているAPI
• http://www.twitter.com/statuses/
  user_timeline/[スクリーンネーム].json
  ?callback=[コールバック関数名]&count=[個数]

• 非推奨(非公式とは違う!)なAPIなので、今後廃
  止されるのかも…

• 少なくとも数年は大丈夫!(私の勘)
実際に返ってくるJSONは読みづらい
  • https://twitter.com/statuses/user_timeline/ts
    _3156.json?count=1 の結果
[{"truncated":false,"place":null,"id_str":"149382136238051328","geo":null,"favorited":false,
"created_at":"Wed Dec 21 06:54:11 +0000
2011","retweet_count":0,"in_reply_to_screen_name":"marusankak","in_reply_to_status_id
_str":"149380270754234368","user":{"contributors_enabled":false,"lang":"ja","protected":f
alse,"profile_sidebar_border_color":"C0DEED","name":"¥u3066¥u3043¥u30fc¥u3048¥u305
9","id_str":"58135830","default_profile_image":false,"default_profile":true,"created_at":"S
un Jul 19 05:52:19 +0000
2009","friends_count":329,"statuses_count":34358,"profile_use_background_image":true,"
utc_offset":32400,"description":"¥u5927¥u5b66¥u9662¥u751f¥u3067¥u3059¥u3002¥u517
1¥u611f¥u899a¥u306e¥u30b5¥u30a4¥u30c8¥u904b¥u55b6¥u3057¥u3066¥u307e¥u3059¥
u3002http:¥/¥/www.synaesthesia.jp
(さらに続く)…


意味が分からないのでフォーマットしましょう!
フォーマットされたJSONは読みやすい
JSONのフォーマットには
     Webサービスを使うと簡単
• 「json format」で検索するとたくさん見つかる。
 – 例えばこれ ↓
   http://jsonformatter.curiousconcept.com/
 – JSONをコピー&ペーストするだけでフォーマットし
   てくれます

• JSONに限らず、コードを読みやすく整形する
  プログラムを「フォーマッター(formatter)」と言
  います
あるユーザのツイートの埋め込みは
     以上で完了!

続いて、ツイートの検索結果の埋め込
       みです!
ツイートの検索結果を埋め込む
http://www.twitter.com/statuses/
user_timeline/[スクリーンネーム].json
?callback=[コールバック関数名]&count=[個数]

使うAPIを変えるだけ!

http://search.twitter.com/search.json?q=[検索
語]&callback=[コールバック関数]&rpp=[結果
数]
次は、ツイートされた回数を埋め込む
      方法です!
回数を埋め込むってどういうこと?




真ん中あたりの19って数字は、このページがツ
イートされた回数です。この数字をツイッターから
取得して埋め込む方法を解説します
あるURLがツイートされた回数を取得
       するあれこれ
• API
  – http://urls.api.twitter.com/1/urls/count.json
    ?url=[対象ページのURL]
    &callback=[コールバック関数]
    &noncache= + new Date() ← これ意味ある??
• 返ってくるJSON
  – {"count":61897,"url":"http://www.yahoo.co.jp/"}
• 公式RTは1回しかカウントされないです
  – 公式RTを複数回として数えるには
    statuses/retweets/:id (要認証)を使う
発表は以上です。

  聞いてくださって
ありがとうございました!
(補足)発表当日に私が
  @yusukeyさんに質問した項目
• Q. GAEにおいて、昔はAPI利用制限が勝手に
  (毎回ではないが)2万回/時になってくれてい
  た。最近はそれがない。何でですか?
 – A. よく分かりません…。


• あるツイートを公式RTしたユーザの一覧を取
  得するにはどうすればよいですか?
 – A. ストーリミングAPIを使うしかないです。
自己紹介
篠原照樹(しのはらてるき)
筑波大学大学院 コンピュータサイエンス専攻 修士2年
卒論・修論: 共感覚
えごったー   : http://www.egotter.com
共感覚     : http://www.synaesthesia.jp
ブログ      : http://hivecolor.com
ツイッター   : @ts_3156

面白い人常に探してます!
せっかく会ったからには何か話しましょう!

                                       26

More Related Content

Similar to 第2.1回 ツイッターAPI勉強会 @ts_3156 発表資料

IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipmIT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm鉄次 尾形
 
Python と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめるPython と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめるShuhei Iitsuka
 
人気の勉強会を逃さないシステム
人気の勉強会を逃さないシステム人気の勉強会を逃さないシステム
人気の勉強会を逃さないシステムryonext Shimamoto
 
続・Twitter bootstrap入門 #html5j
続・Twitter bootstrap入門 #html5j続・Twitter bootstrap入門 #html5j
続・Twitter bootstrap入門 #html5jToshiaki Maki
 
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―Hisao Soyama
 
CharpTwitter
CharpTwitterCharpTwitter
CharpTwitterytanno
 
エンジニアが Webを学ぶために やっててよかったこと
エンジニアが Webを学ぶために やっててよかったことエンジニアが Webを学ぶために やっててよかったこと
エンジニアが Webを学ぶために やっててよかったことHirata Tomoko
 
スクレイピングをやってみた
スクレイピングをやってみたスクレイピングをやってみた
スクレイピングをやってみた憲 山本
 
働き方が大きく変わった 入社3年目のときのとあるエピソード
働き方が大きく変わった 入社3年目のときのとあるエピソード働き方が大きく変わった 入社3年目のときのとあるエピソード
働き方が大きく変わった 入社3年目のときのとあるエピソードShohei Okada
 
すごいタスク管理(仮)
すごいタスク管理(仮)すごいタスク管理(仮)
すごいタスク管理(仮)Kakigi Katuyuki
 
Output Driven 20170721
Output Driven 20170721Output Driven 20170721
Output Driven 20170721Shintaro Ikeda
 
情シスオフ 2nd Lt 20090620
情シスオフ 2nd Lt 20090620情シスオフ 2nd Lt 20090620
情シスオフ 2nd Lt 20090620atsuizo
 
Twitter 関連サービスを5年運営して学んだこと #twtr_hack
Twitter 関連サービスを5年運営して学んだこと #twtr_hackTwitter 関連サービスを5年運営して学んだこと #twtr_hack
Twitter 関連サービスを5年運営して学んだこと #twtr_hackMasunaga Ray
 
運用管理を楽にしたいという話
運用管理を楽にしたいという話運用管理を楽にしたいという話
運用管理を楽にしたいという話Hisashi HATAKEYAMA
 
20131116 creators meetup
20131116 creators meetup20131116 creators meetup
20131116 creators meetupSeigo Tanaka
 
第2.1回Twitter API勉強会 - 検索API
第2.1回Twitter API勉強会 - 検索API第2.1回Twitter API勉強会 - 検索API
第2.1回Twitter API勉強会 - 検索APIYusuke Yamamoto
 
ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2Taichi Inaba
 
NPCA-LT hideo54[OSC Kyoto 2014]
NPCA-LT hideo54[OSC Kyoto 2014]NPCA-LT hideo54[OSC Kyoto 2014]
NPCA-LT hideo54[OSC Kyoto 2014]Hideo Yasumoto
 

Similar to 第2.1回 ツイッターAPI勉強会 @ts_3156 発表資料 (20)

IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipmIT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm
 
Python と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめるPython と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめる
 
人気の勉強会を逃さないシステム
人気の勉強会を逃さないシステム人気の勉強会を逃さないシステム
人気の勉強会を逃さないシステム
 
続・Twitter bootstrap入門 #html5j
続・Twitter bootstrap入門 #html5j続・Twitter bootstrap入門 #html5j
続・Twitter bootstrap入門 #html5j
 
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
 
CharpTwitter
CharpTwitterCharpTwitter
CharpTwitter
 
エンジニアが Webを学ぶために やっててよかったこと
エンジニアが Webを学ぶために やっててよかったことエンジニアが Webを学ぶために やっててよかったこと
エンジニアが Webを学ぶために やっててよかったこと
 
[Dots.]taiga
[Dots.]taiga[Dots.]taiga
[Dots.]taiga
 
スクレイピングをやってみた
スクレイピングをやってみたスクレイピングをやってみた
スクレイピングをやってみた
 
働き方が大きく変わった 入社3年目のときのとあるエピソード
働き方が大きく変わった 入社3年目のときのとあるエピソード働き方が大きく変わった 入社3年目のときのとあるエピソード
働き方が大きく変わった 入社3年目のときのとあるエピソード
 
すごいタスク管理(仮)
すごいタスク管理(仮)すごいタスク管理(仮)
すごいタスク管理(仮)
 
Output Driven 20170721
Output Driven 20170721Output Driven 20170721
Output Driven 20170721
 
情シスオフ 2nd Lt 20090620
情シスオフ 2nd Lt 20090620情シスオフ 2nd Lt 20090620
情シスオフ 2nd Lt 20090620
 
1030 twitter講座.key
1030 twitter講座.key1030 twitter講座.key
1030 twitter講座.key
 
Twitter 関連サービスを5年運営して学んだこと #twtr_hack
Twitter 関連サービスを5年運営して学んだこと #twtr_hackTwitter 関連サービスを5年運営して学んだこと #twtr_hack
Twitter 関連サービスを5年運営して学んだこと #twtr_hack
 
運用管理を楽にしたいという話
運用管理を楽にしたいという話運用管理を楽にしたいという話
運用管理を楽にしたいという話
 
20131116 creators meetup
20131116 creators meetup20131116 creators meetup
20131116 creators meetup
 
第2.1回Twitter API勉強会 - 検索API
第2.1回Twitter API勉強会 - 検索API第2.1回Twitter API勉強会 - 検索API
第2.1回Twitter API勉強会 - 検索API
 
ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2
 
NPCA-LT hideo54[OSC Kyoto 2014]
NPCA-LT hideo54[OSC Kyoto 2014]NPCA-LT hideo54[OSC Kyoto 2014]
NPCA-LT hideo54[OSC Kyoto 2014]
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Recently uploaded (12)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

第2.1回 ツイッターAPI勉強会 @ts_3156 発表資料