過去の「0文字引用RT」を取得しようとするも、挫折
状態:試行錯誤履歴
閲覧数:1,350
投稿日:2020-03-20
更新日:2020-03-20
過去の「0文字引用RT」を取得しようとするも、挫折
大前提 / これまで / 自分で作成することを決意
RTだけ表示するやつ / 2020/3/20時点の結論 / Link
大前提 / これまで / 自分で作成することを決意
RTだけ表示するやつ / 2020/3/20時点の結論 / Link
大前提 / これまで / 自分で作成することを決意
大前提
APIを使用しないと、「0文字引用RT」は検索出来ない
下記方法では何れも、「0文字引用RT」は検索出来ない
ユーザー名が「@development」の場合
期間指定検索
from:development since:2019-08-26 until:2019-09-01
日本時間指定して期間指定検索from:development since:2019-08-26_00:00:00_JST until:2019-09-01_00:00:00_JST
これまで
'max_id'パラメータを手動で指定して検索
・とてつもなく面倒くさい
・RTだけ取得に挑戦
自分で作成したアプリで問題が発生
・2020年2月に実行されたTwitter仕様変更に伴い、過去3,200件以前の「(0文字引用)リツイート」を削除できなくなる
・「(0文字引用)リツイート削除する」というやり方を変更(せざるを得なくなる)
過去タイムライン
期間指定検索していくことを決定
過去タイムラインで問題が発生
2020/3/20、正常動作しなくなっている
自分で作成することを決意
Twitter APIで、(期間指定した)日付から(最小及び最大)ツイートidを取得するには?
最終的にやりたいこと
statuses/user_timelineで、(日付で)期間指定して、(リツイート込みの)ツイートを取得したい
日付指定で特定ユーザーのタイムラインをリツイート込みで取得したい
Q.Twitter APIで、(期間指定した)日付から(最小及び最大)ツイートidを取得するには?
since_idとmax_idを日付から取得したいのですが、どう書けば良いですか?
Search Tweetsは、untilで日付指定できるけれどもsinceはパラメータ指定不可ですか?
statuses/user_timelineで、(日付で)期間指定して、(リツイート込みの)ツイートを取得したい
日付指定で特定ユーザーのタイムラインをリツイート込みで取得したい
Q.Twitter APIで、(期間指定した)日付から(最小及び最大)ツイートidを取得するには?
since_idとmax_idを日付から取得したいのですが、どう書けば良いですか?
Search Tweetsは、untilで日付指定できるけれどもsinceはパラメータ指定不可ですか?
最初に「https://api.twitter.com/1.1/search/tweets.json」から'max_id'取得しようとしたが、期待した結果を取得できない
「"max_id":1240811995607859200,」を取得されたが、そんなツイートidは存在しない
{"statuses":[],"search_metadata":{"completed_in":0.004,"max_id":1240811995607859200,"max_id_str":"1240811995607859200","query":"from%3A★★★★+until%3A2019-08-26","refresh_url":"?since_id=1240811995607859200&q=from%3A★★★%20until%3A2019-08-26&include_entities=1","count":15,"since_id":0,"since_id_str":"0"}}
GET search/tweets - ツイートを検索するStandard search API仕様
1週間以上前の日付は指定不可
until
optional
Returns tweets created before the given date. Date should be formatted as YYYY-MM-DD. Keep in mind that the search index has a 7-day limit. In other words, no tweets will be found for a date older than one week. 2015-07-19
optional
Returns tweets created before the given date. Date should be formatted as YYYY-MM-DD. Keep in mind that the search index has a 7-day limit. In other words, no tweets will be found for a date older than one week. 2015-07-19
指定された日付より前に作成されたツイートを返します。 日付はYYYY-MM-DDの形式にする必要があります。 検索インデックスには7日間の制限があることに注意してください。 つまり、1週間以上前の日付のツイートは見つかりません。
ダメじゃん・In statuses / user_timeline, I want to get my tweets (with retweets) by date range
RTだけ表示するやつ / 2020/3/20時点の結論 / Link
RTだけ表示するやつ
「日付の上限」設定可能
どうしてなの?
・Webアプリ「RTだけ表示するやつ」を作りました
・Webアプリ「RTだけ表示するやつ」を使ってほしい
・bookii/retweetlog-nodejs: 指定したユーザーのRTを抜き出して表示するWebアプリ
リクエスト送信先と思われる個所
widgets.jsの中にリクエスト送信先が記述されている?
retweetlog-nodejs/myFetch.js
getScript('https://platform.twitter.com/widgets.js'); // render
リクエスト結果と思われる個所
retweetlog-nodejs/myTwitter.js
const html = `<blockquote class="twitter-tweet" data-lang="ja" ${cardStatus}><p lang="${lang}" dir="ltr">${text}</p>— ${name} (@${screenName}) <a href="https://twitter.com/${screenName}/status/${idStr}">${createdAt}</a></blockquote>`
JavaScript APIを使用しているみたい
https://platform.twitter.com/widgets/widget_iframe
https://platform.twitter.com/widgets.js
2020/3/20時点の結論(もしくは感想)
調査するも分からなかった点(時間の無駄なので何か新情報を得られない限り二度と挑戦しない)
・過去の「0文字引用RT」を期間指定して取得する方法
・Twitter の「JavaScript API」。最終的なリクエスト先は他限度と同様? 「JavaScript API」独自のリクエスト送信先やパラメータは存在するの?
・Twitter の widgets.js を API経由で操作する方法(設定可能なパラメータなど)
RTだけ表示するやつ
「タイトル」と「UI」から誰でも出来るような実装かと思いきや、全然違うみたい。羊の皮を被った狼や!
今度について
・「RTだけ表示するやつ」で、「リツイートした日付の上限」を一日単位で指定していく。これしか方法がない
・「自分がリツイートした日時」が「過去タイムライン」のように表示されないため、前回(今回の検索より一日前)のツイートを覚えておくしかない
2019/9/16まで終了
“Not a crime to be young,” some spray painted on the road
2020/4/3時点の感想
ようやく、「過去の0文字引用RT」全てを確認出来た
・物凄い労力を要した
・後で振り返る可能性がある場合は、「0文字引用RT」は(絶対に)止めたほうが良い
今後について
下記で期間指定しながら、確認転載後、1件1件削除していく
from:xx since:2017-10-01 until:2017-12-01
次は下記からfrom:xx since:2018-04-11 until:2018-04-30
Link
・過去タイムライン
・Twitter Publish
Private
RTだけ取得
RTだけ取得デモ