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が一つありまして、
タイトルで文字列検索出来るようにするのはそんなに難しくないのでやるかも。
かもですが…
Perlモジュールの依存ツリーを視覚化するツールを作ってみた(途中)
http://metacpaninfoviz-jaqqcx56.dotcloud.com/
仕様
左上のテキストにモジュール名を入力してsubmitすると依存ツリーを表示します。
依存ツリーはMetaCPANから取得しています。*1
視覚化にはJavaScript InfoVis Toolkitを使っています。
*1:モジュール毎に72時間キャッシュします
AdventCalendar2011ビューにはてブ数とかカレンダーランキングとか追加
http://adventcalendar2011-jaqqcx56.dotcloud.com/
- UI変更点
- タイトルが切れていたのを直した
- URL毎のはてぶ数を表示するようにした
- 需要あるかどうかわからないけどカレンダー毎のランキングも集計するようにした
- ランキングにスコアを表示するようにした
- データ変更点
- URL毎にスクレイピングして、タイトルを取得し直すようにした(一部カレンダーは除外してる)
AdventCalendar2011のスマホビューに簡易お気に入り機能追加した
http://adventcalendar2011-jaqqcx56.dotcloud.com/
AdventCalendar2011のスマホビューに簡易お気に入り機能を追加しました。
お気に入りはローカルストレージに保存しますので履歴消去するとなくなっちゃいますよ!
お気に入り使い方
①一覧でカレンダーを選択します。
②カレンダーを選択すると、右上に「お気に入り」ボタンが表示されているので押します。*1
③ヘッダーの「お気に入り」タブを選択すると、お気に入りに追加したカレンダーが表示されます。
*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