TwitterAPIでRT削除にハマった件+α

TwitterAPIでリツイート削除するのに結構調べたので備忘録で残しておく。


ぐぐってみると「destroyでOK」みたいなのは見つかるんだけど
destoryすると「他のユーザのツイートを削除することができません」
というエラーで削除できない。


この時点でハマってたんだけど、リツイートを削除するには
リツイート元のステータスID」ではなく
リツイートした時に新たに付与されるID」を使わないといけないらしい。
通常のタイムラインにはそのIDは表示されないため、
一度 retweet_by_me を叩いてリツイート元のIDを探す必要がある。

サンプルコード


retweet_by_meから元のステータスIDを探すんだけど、
直接指定することはできないのでループで元のIDを検索して
マッチしたらリツイートIDを取得する、
といったことをしないといけない。
ちょっと面倒ですね。



これだけでも何なので、
Twitter関連のTipsみたいなのも書いておきます。

Twitterのcreated_atを日付に変換したり

このあたり、Net::Twitterだと変換してくれるんですが
いろいろインストールされるのであまり使いたくないですよね!
そこで簡単な変換クラスを作ればいいと思います。

ちなみにREST APIで取得した場合とSearchAPIで取得した場合で
日付のフォーマットが違うので2つ用意してます。

friendを全員取得


これだけ。
ちなみに両想いの友達を取得したい場合は
上記レスポンスに「following」という要素があるので
これがONかどうかで判定することができます。

AdventCalendarビューにPerlカレンダーのリンク追加した

http://adventcalendar2011-jaqqcx56.dotcloud.com/


JPerl Advent Calendar 全部見れるリンクを追加しました。
ほぼオレオレ仕様ですね。
http://adventcalendar2011-jaqqcx56.dotcloud.com/perl


あとランキング集計も最近まで行なっていましたが、
すべてのカレンダーが終了したため今後は行いません。*1


まだ可能性のあるTodoが一つありまして、
タイトルで文字列検索出来るようにするのはそんなに難しくないのでやるかも。
かもですが…

*1:Vim続きすぎw

Perlモジュールの依存ツリーを視覚化するツールを作ってみた(途中)

http://metacpaninfoviz-jaqqcx56.dotcloud.com/

仕様

左上のテキストにモジュール名を入力してsubmitすると依存ツリーを表示します。
依存ツリーはMetaCPANから取得しています。*1
視覚化にはJavaScript InfoVis Toolkitを使っています。

ToDo

  • ソースコードgithubにあげる
  • metacpanサイトに飛べるようにする
  • 依存モジュールがNotFound時にわかるようにする

*1:モジュール毎に72時間キャッシュします

AdventCalendar2011ビューにはてブ数とかカレンダーランキングとか追加

http://adventcalendar2011-jaqqcx56.dotcloud.com/

  • UI変更点
    • タイトルが切れていたのを直した
    • URL毎のはてぶ数を表示するようにした
    • 需要あるかどうかわからないけどカレンダー毎のランキングも集計するようにした
    • ランキングにスコアを表示するようにした
  • データ変更点
    • URL毎にスクレイピングして、タイトルを取得し直すようにした(一部カレンダーは除外してる)

AdventCalendar2011のスマホビューに簡易お気に入り機能追加した

http://adventcalendar2011-jaqqcx56.dotcloud.com/

AdventCalendar2011のスマホビューに簡易お気に入り機能を追加しました。
お気に入りはローカルストレージに保存しますので履歴消去するとなくなっちゃいますよ!

お気に入り使い方

①一覧でカレンダーを選択します。
②カレンダーを選択すると、右上に「お気に入り」ボタンが表示されているので押します。*1

③ヘッダーの「お気に入り」タブを選択すると、お気に入りに追加したカレンダーが表示されます。

*1:何もメッセージ出ないですが追加されてます

AdventCalendar2011のスマホビューに「ランキング」を追加した

http://adventcalendar2011-jaqqcx56.dotcloud.com/

全AdventCalendarの中でのURLランキングリストを追加しました。
ランキングの重み付けに使っているのは以下のリストです。

単純にこれらをサマリしたものをランキング形式にしてます。
本当は重み付けしたほうがいいかもしれないですが、
傾向が見れるだけでおもしろいかなーと思い、単純なサマリで計算してます。
ちなみに日次集計。*1

さて、Todoはこれでおしまい!

*1:これも気分ですけどね!

AdventCalendar2011のスマホビューを作ってみた

なんか今年はいっぱいあるしスマホから見る機会も多いしDotCloudも使ってみたいしという適当な理由で作ってみました。
http://adventcalendar2011-jaqqcx56.dotcloud.com/

環境

perl+Amon2+SQLite という構成でDotCloudに置いてます。
あとjquery mobile使ってます。
ソースはこちら
https://github.com/toritori0318/AdventCalendar2011

データの作り方

9.5割自動で残りは手動、という感じです。
スクレイピングはローカルで実行してSQLiteのデータベースを作成し、
DotCloudにはscpで直接データベースのファイルを置いちゃってます。
また、データの同期は作者の気分により1日一回ほど同期されるでしょう。*1

追加予定

  • トップレベルでのお気に入り登録は出来るようにしたい。する。
  • AdventCalendar2011内でのランキングとか見れるようにしたい。する。

DotCloudの備忘録

dotcloudインストール
easy_install dotcloud
dotcloud プロジェクト作成
dotcloud create adventcalendar2011
dotcloud デプロイ
dotcloud push adventcalendar2011

(変更時は git commit してから push)

dotcloud プロジェクト情報
dotcloud info adventcalendar2011
dotcloud ssh
dotcloud ssh <app>.www
(番外)dotcloud上にscpする
scp -P xxxxx -i ~/.dotcloud/dotcloud.key <source> dotcloud@<host>:<dest>

*1:なぜかcronではないw