※2015-09-30追記。
※2015-10-22追記。
※2015-12-29追記。

以下、count.json APIが廃止されるという情報がありましたが、しばらく経過死後に使用不可能となりました。
http://did2memo.net/2015/09/28/twitter-count-json-shut-down/


今まで触れれていなかった「ツイート数のカウント」を行いました

以下で、##URL##を含むツイートの数を返却します。

■リクエスト

http://urls.api.twitter.com/1/urls/count.json?url=##URL##

■レスポンス

{"count":1,"url":"##URL##"}

検証してみた内容

  • リアルタイムのカウントではない(15分程度のタイムラグあり?)
  • `http://hogehoge.hoga.jp/`のような存在しないURLでもカウントされる
  • `http://hogehoge.hoga.ppp/`のような、トップレベルドメインがNGな場合はさすがにカウントしていない
  • `//google.com/`のようにhttp/httpsを省略した場合、リクエストエラーとして扱われてしまう
  • 1ユーザが複数のツイートで「同じURLを含むツイート」をしていてもそれぞれ1カウントされる
  • 1ツイートに複数のURLを含んでいる場合でもそれぞれ1とカウントされる
  • ツイートを削除してもカウントは減らない

日本語ドメイン

例えばhttp://郵便年賀.jp/に対するツイートを取る場合。

■リクエスト

http://urls.api.twitter.com/1/urls/count.json?url=http://郵便年賀.jp/

■レスポンス

{"count":0,"url":"http://%E9%83%B5%E4%BE%BF%E5%B9%B4%E8%B3%80.jp/"}

というレスポンスになる
マルチバイト文字がURLエンコードされるので当然ですね。

そこで、次のような変換サービスを利用してマルチバイトを含まないURLを指定します。

JPドメイン名サービス
日本語JPドメイン名のPunycode変換・逆変換
http://punycode.jp/

http://郵便年賀.jp/を変換するとPunycode:xn--wtq717a538a9rdであるため、リクエストは次の形で行えばよい

http://urls.api.twitter.com/1/urls/count.json?url=http://xn--wtq717a538a9rd.jp/
スポンサーリンク
ad_336
ad_336
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク
ad_336