2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Twitter】取得できないリプライツイート問題

Last updated at Posted at 2019-02-07

経緯

ちょっとしたTwitterアプリでも作ろうかなと試行錯誤していたところ、
特定のツイートに対するすべてリプライを取得したいのに、なぜか取得できないツイートがありかなりハマったので自分のためにもここに残します。

【環境】
 ・C#.Net
 ・CoreTweet

問題

特定のツイートへのリプライを取得する方法に、これといったスマートな方法はないらしいです。
中でも多くHitしたのが以下のような方法。

Search.cs
  // 対象ツイートの取得
  var status = tokens.Statuses.Show(id => ************/*対象のツイートのID*/));
  // 対象ツイート以降に投稿されたツイート主へのリプライを取得
  var replies = tokens.Search.Tweets(q=>"to:"+ status.User.ScreenName, 
                                     count=>100, since_id=>status.Id );
  // リプライの中でも、宛先が対象のツイートとなっているもののみを取得
  var targetReplies = replies.Where(w => w.InReplyToStatusId == status.Id);

この方法では Standard search API を利用してリプライを取得しています。
もっといい方法があれば教えてください。

そして、この方法ではなぜか取得できないツイートが発生します。
これが掲題の取得できないリプライツイート問題です。

原因

結果としては、取得できないツイートの主が、Twitter社から良質なアカウントと認定されていないからということでした。
[Twitter公式ブログ - Serving healthy conversation]
(https://blog.twitter.com/official/en_us/topics/product/2018/Serving_Healthy_Conversation.html)

開設して間も無かったり、大量に同じようなツイートとしていたり…理由は様々ですが、そういったアカウントのツイートは検索できないようになっているようです。
こちらが参考になりました。
Twitterで自分のツイートが検索表示されなくなったらまずここへ!

解決策

どうしろと。
ほんとにスパムアカウントとかならいいんですが、そうじゃない人もいるのでとても困りますね…。
こういったフィルタを掛けるかかけないかを検索オプションで指定できたらいいのですが。
もっといい方法があれば教えてください。(二回目)

デフォルトでONになっているセーフサーチを解除すれば解決するかも!
あとで調査します。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?