大前提 / 2019年10月12日時点の方針 / 実装開始

カテゴリー: Twitter Developer  閲覧数:615 配信日:2019-10-12 15:34


大前提


RTだけ取得するURL
用意されていないと思われる

RTだけ取得する専用API
・用意されていないと思われる

2019年10月12日時点の方針


ユーザータイムラインを取得
RTだけフィルタリング

参考
・何やってるかよく分からないのだけれども、ユーザータイムライン取得後、フィルタリングしている?
retweetlog-nodejs/myTwitter.js at master · bookii/retweetlog-nodejs
const getRetweets = (screenName, maxIdPrev, untilDate, includeSelf) => {
   return new Promise(async (resolve, reject) => {
       let retweets = [];
       let maxId;

       if (maxIdPrev) {
           maxId = bigInt(maxIdPrev);
       } else if (untilDate) {
           maxId = dateToStatusId(Date.parse(untilDate) + 15*60*60*1000);
       } else {
           maxId = dateToStatusId(Date.now());
       }

       try {
           while(true) {
               tweets = await getUserTimeline(screenName, maxId);
               if (tweets.length > 1) {
                   let retweetsChunk = [];
                   maxId = bigInt(tweets[tweets.length-1]['id_str']).add(-1);
                   retweetsChunk = tweets.map(tweet => tweet['retweeted_status']).filter(tweet => tweet);
                   if (includeSelf == false) {
                       retweetsChunk = retweetsChunk.filter(retweet => retweet['user']['screen_name'] != screenName);
                   }
                   // console.log('retweets.length: ' + retweets.length);
                   Array.prototype.push.apply(retweets, retweetsChunk);
                   if (retweets.length > RETWEETS_PER_REQUEST) {
                       break;
                   }
               } else {
                   break;
               }
           }
       } catch (error) {
           reject({items: error, maxId: maxId.toString()});
       }
       resolve({items: retweets, maxId: maxId.toString()});
   });
};


フィルタリング
「retweeted_status」プロパティ名をチェックするだけ
・見つからない場合はRTではない
Check if a tweet is a retweet

実装開始


既に「statuses/user_timeline」を取得していた
'screen_name'パラメータを変更することで、「retweeted_status」プロパティも確認できた

週間人気ページランキング / 11-5 → 11-11
順位 ページタイトル抜粋 アクセス数
1 GitHubリモートリポジトリ名には日本語を使用できない。使用すると、ハイフンへ自動置換されてしまう | GitHub(Git) 3
2 開発 0 2
2 Git BASH 作業履歴 2022/10/20 / P48 site-rank(First-Ranking-Service) 2 / P25をP48のリポジトリへ反映させていたので、「git push -f origin main」で強制上書き実行 | Git BASH(Git) 2
3 RTだけ表示するやつ / 2020/3/20時点の結論 / Link 1
3 2018年を振り返り、2019年の方針を決める。Webサービスビジネス | Webサービスビジネス 1
3 GitHub(Git) カテゴリー 1
3 GitHub Desktop 試行錯誤履歴 | GitHub(Git) 1
3 「Twitter Developer」で、遭遇したエラー系メッセージ | Twitter Developer(Twitter) 1
3 Linux(server) カテゴリー 1
3 「Twitterデータ」対応 | Twitter Developer(Twitter) 1
3 今日の勘違い | Bootstrap(デザイン) 1
3 言葉(Webサービス開発) カテゴリー 1
3 TwitterOAuth では、画像URL を指定した画像投稿は出来ない(と思う)。ライブラリを使用しなければ出来るから、Twitter API の制限ではない(と思われる)  | Twitter 1
3 Windows10で使用できるGitクライアント | GitHub(Git) 1
3 意図せずSubModuleが作成された場合は、「$ git rm -rf --cached <対象ファイル or path>」後、「$ git add <対象ファイル or path>」 | Git BASH(Git) 1
3 本 | ブックマーク 1
3 2022 年 10 月 28 時点における、私が理想とする(Web系プロジェクトバックアップ用途)gitコマンド実行履歴。※これまで一度もこの通りに実行できたことはない | Git BASH(Git) 1
3 Twitter 複数アカウントでPOSTしたい | Twitter Developer(Twitter) 1
2025/11/12 1:02 更新
指定期間人気ページランキング / 2020-5-27 → 2025-11-11
順位 ページタイトル抜粋 アクセス数
1 GitHubリモートリポジトリ名には日本語を使用できない。使用すると、ハイフンへ自動置換されてしまう | GitHub(開発環境) 1065
2 fatal: remote error: is not a valid repository name | Git BASH(開発環境) 748
3 Twitter アカウント管理 | Twitter Developer(Twitter) 621
4 開発 0 601
5 Twitter API | Twitter API (Twitter) 598
6 動画対応 | プログラミング 590
7 「Twitterデータ」対応 | Twitter Developer(Twitter) 563
8 Windows10で使用できるGitクライアント | GitHub(開発環境) 461
9 本 | ブックマーク 451
10 Webサービス | ブックマーク 424
11 マッチングサービス | Webサービスビジネス 403
12 同じ携帯電話番号でも、複数の「Twitter Developers」アカウントを作成可能 | Twitter Developer(Twitter) 365
13 TwitterOAuth では、画像URL を指定した画像投稿は出来ない(と思う)。ライブラリを使用しなければ出来るから、Twitter API の制限ではない(と思われる)  | Twitter 327
14 teratailでは質問しない | プログラミング 301
15 技術書籍 | プログラミング 300
16 気になった動画 | ブックマーク 294
17 埋め込みツイート | Twitter Developer(Twitter) 271
18 個人事業主 | Webサービスビジネス 250
19 Twitter 電話番号の問題 | Twitter Developer(Twitter) 234
20 コインチェック株式会社   | Webサービスビジネス 215
2025/11/12 1:02 更新