OSDN Git Service

graphqlエンドポイントを使用した関連発言表示に対応
authorKimura Youichi <kim.upsilon@bucyou.net>
Sat, 6 Jan 2024 05:24:22 +0000 (14:24 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Sat, 6 Jan 2024 05:26:29 +0000 (14:26 +0900)
CHANGELOG.txt
OpenTween/Twitter.cs

index b96840f..6306a2d 100644 (file)
@@ -1,6 +1,7 @@
 更新履歴
 
 ==== Unreleased
+ * NEW: Cookie使用時の関連発言表示に対応
  * FIX: APIリクエストのタイムアウト時に接続が切断されない場合がある不具合を修正
 
 ==== Ver 3.10.1(2023/12/23)
index 341b696..ab03071 100644 (file)
@@ -1073,10 +1073,27 @@ namespace OpenTween
             else
                 query += $" from:{targetPost.ScreenName} to:{targetPost.ScreenName}";
 
-            var statuses = await this.Api.SearchTweets(query, count: 100)
-                .ConfigureAwait(false);
+            TwitterStatus[] statuses;
+            if (this.Api.AuthType == APIAuthType.TwitterComCookie)
+            {
+                var request = new SearchTimelineRequest(query);
+                var response = await request.Send(this.Api.Connection)
+                    .ConfigureAwait(false);
+
+                statuses = response.Tweets
+                    .Where(x => !x.IsTombstone)
+                    .Select(x => x.ToTwitterStatus())
+                    .ToArray();
+            }
+            else
+            {
+                var response = await this.Api.SearchTweets(query, count: 100)
+                    .ConfigureAwait(false);
+
+                statuses = response.Statuses;
+            }
 
-            return statuses.Statuses.Select(x => this.CreatePostsFromStatusData(x)).ToArray();
+            return statuses.Select(x => this.CreatePostsFromStatusData(x)).ToArray();
         }
 
         public async Task GetSearch(bool read, PublicSearchTabModel tab, bool more)