狠狠撸

狠狠撸Share a Scribd company logo
第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
(さらに続く)…


意味が分からないのでフォーマットしましょう!
フォーマットされた闯厂翱狈は読みやすい
闯厂翱狈のフォーマットには
     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って数字は、このページがツ
イートされた回数です。この数字をツイッターから
取得して埋め込む方法を解説します
ある鲍搁尝がツイートされた回数を取得
       するあれこれ
? 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

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