Posted at

一週間分のTweetをまとめてみたかった話


きっかけ


なんか簡単な仕組みがないかな?

ある程度手動でもいいから、簡単にまとめられるものがないかと探してみるが、

TwitterのアナリティクスだとRTだけだとコメントしてないと取得できないし、

してたとしてもそれのURLが簡単に取れなさそう。

Twilogだと一見取得できそうなんだけど、整形したデータとしては取得できるがそこにはRT元のURLが入っていない。


なさそう

ということで、せっかくなので処理を書いてみた。

とりあえずの仕様としては、

・自分の一週間分のTweetをたどってRTのものを取得

・日付ごとにまとめる

・ファイルに出力する

この三点である。


検索パラメータ

仕様

https://developer.twitter.com/en/docs/api-reference-index

上記仕様を参考に今回の取得のパラメータ的にはこんな感じにした。

var parm = new Dictionary<string, object>();

parm["screen_name"] = screen_name;
parm["since_id"] = start_id;
parm["include_rts"] = true;
parm["count"] = 200;
var tweets = tokens.Statuses.UserTimeline(parm);

で、いったん、指定ID以降のTweetを全部取得する(よほどのことが無い限り一週間で200Tweetもしていないはずだし)ようにして、ファイル出力する際にRetweetedStatusがNULLのものを省いた。

ただそれだと自分がRT+コメントしたヤツが取れなかったのでQuotedStatusが入っているやつも残すようにしてみる処理も追加。


できあがり

コードはこんな感じ。

https://github.com/RyoNakamae/GetRT

でファイル出力したものに、適当にコメントを追加しながら作ったのが以下。

http://www.riosnest.co.uk/2019/04/post-653/

でも、作ってから気が付いたけど、自分でサイトから共有したようなものはひっかからないな。。

その辺はまたそのうち考えるか。