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かどうかで判定することができます。