From 5c331578112405d18f2187f5482d9fb8e7e716ba Mon Sep 17 00:00:00 2001 From: Kimura Youichi Date: Thu, 27 Sep 2018 02:24:53 +0900 Subject: [PATCH] =?utf8?q?=E6=97=A7DM=20API=E3=81=AB=E9=96=A2=E3=81=99?= =?utf8?q?=E3=82=8B=E3=82=B3=E3=83=BC=E3=83=89=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- OpenTween.Tests/Api/TwitterApiTest.cs | 60 ------------------------------ OpenTween.Tests/TwitterTest.cs | 5 --- OpenTween/Api/TwitterApi.cs | 40 -------------------- OpenTween/Models/DirectMessagesTabModel.cs | 5 --- OpenTween/Resources/ChangeLog.txt | 1 + OpenTween/Twitter.cs | 60 ------------------------------ 6 files changed, 1 insertion(+), 170 deletions(-) diff --git a/OpenTween.Tests/Api/TwitterApiTest.cs b/OpenTween.Tests/Api/TwitterApiTest.cs index 51c33302..bdc493cb 100644 --- a/OpenTween.Tests/Api/TwitterApiTest.cs +++ b/OpenTween.Tests/Api/TwitterApiTest.cs @@ -664,66 +664,6 @@ namespace OpenTween.Api } [Fact] - public async Task DirectMessagesRecv_Test() - { - using (var twitterApi = new TwitterApi()) - { - var mock = new Mock(); - mock.Setup(x => - x.GetAsync( - new Uri("direct_messages.json", UriKind.Relative), - new Dictionary { - { "full_text", "true" }, - { "include_entities", "true" }, - { "include_ext_alt_text", "true" }, - { "count", "200" }, - { "max_id", "900" }, - { "since_id", "100" }, - }, - "/direct_messages") - ) - .ReturnsAsync(new TwitterDirectMessage[0]); - - twitterApi.apiConnection = mock.Object; - - await twitterApi.DirectMessagesRecv(count: 200, maxId: 900L, sinceId: 100L) - .ConfigureAwait(false); - - mock.VerifyAll(); - } - } - - [Fact] - public async Task DirectMessagesSent_Test() - { - using (var twitterApi = new TwitterApi()) - { - var mock = new Mock(); - mock.Setup(x => - x.GetAsync( - new Uri("direct_messages/sent.json", UriKind.Relative), - new Dictionary { - { "full_text", "true" }, - { "include_entities", "true" }, - { "include_ext_alt_text", "true" }, - { "count", "200" }, - { "max_id", "900" }, - { "since_id", "100" }, - }, - "/direct_messages/sent") - ) - .ReturnsAsync(new TwitterDirectMessage[0]); - - twitterApi.apiConnection = mock.Object; - - await twitterApi.DirectMessagesSent(count: 200, maxId: 900L, sinceId: 100L) - .ConfigureAwait(false); - - mock.VerifyAll(); - } - } - - [Fact] public async Task DirectMessagesEventsList_Test() { using (var twitterApi = new TwitterApi()) diff --git a/OpenTween.Tests/TwitterTest.cs b/OpenTween.Tests/TwitterTest.cs index 0bf211c4..3f8feb3d 100644 --- a/OpenTween.Tests/TwitterTest.cs +++ b/OpenTween.Tests/TwitterTest.cs @@ -447,7 +447,6 @@ namespace OpenTween var timeline = SettingManager.Common.CountApi; var reply = SettingManager.Common.CountApiReply; - var dm = 20; // DMは固定値 var more = SettingManager.Common.MoreCountApi; var startup = SettingManager.Common.FirstCountApi; var favorite = SettingManager.Common.FavoritesCountApi; @@ -470,10 +469,6 @@ namespace OpenTween Assert.Equal(timeline, Twitter.GetApiResultCount(MyCommon.WORKERTYPE.Timeline, false, false)); Assert.Equal(reply, Twitter.GetApiResultCount(MyCommon.WORKERTYPE.Reply, false, false)); - // DM - Assert.Equal(dm, Twitter.GetApiResultCount(MyCommon.WORKERTYPE.DirectMessegeRcv, false, false)); - Assert.Equal(dm, Twitter.GetApiResultCount(MyCommon.WORKERTYPE.DirectMessegeSnt, false, false)); - // その他はTimelineと同値になる Assert.Equal(timeline, Twitter.GetApiResultCount(MyCommon.WORKERTYPE.Favorites, false, false)); Assert.Equal(timeline, Twitter.GetApiResultCount(MyCommon.WORKERTYPE.List, false, false)); diff --git a/OpenTween/Api/TwitterApi.cs b/OpenTween/Api/TwitterApi.cs index e6b6d9a1..4aca03d6 100644 --- a/OpenTween/Api/TwitterApi.cs +++ b/OpenTween/Api/TwitterApi.cs @@ -381,46 +381,6 @@ namespace OpenTween.Api return this.apiConnection.PostLazyAsync(endpoint, param); } - public Task DirectMessagesRecv(int? count = null, long? maxId = null, long? sinceId = null) - { - var endpoint = new Uri("direct_messages.json", UriKind.Relative); - var param = new Dictionary - { - ["full_text"] = "true", - ["include_entities"] = "true", - ["include_ext_alt_text"] = "true", - }; - - if (count != null) - param["count"] = count.ToString(); - if (maxId != null) - param["max_id"] = maxId.ToString(); - if (sinceId != null) - param["since_id"] = sinceId.ToString(); - - return this.apiConnection.GetAsync(endpoint, param, "/direct_messages"); - } - - public Task DirectMessagesSent(int? count = null, long? maxId = null, long? sinceId = null) - { - var endpoint = new Uri("direct_messages/sent.json", UriKind.Relative); - var param = new Dictionary - { - ["full_text"] = "true", - ["include_entities"] = "true", - ["include_ext_alt_text"] = "true", - }; - - if (count != null) - param["count"] = count.ToString(); - if (maxId != null) - param["max_id"] = maxId.ToString(); - if (sinceId != null) - param["since_id"] = sinceId.ToString(); - - return this.apiConnection.GetAsync(endpoint, param, "/direct_messages/sent"); - } - public Task DirectMessagesEventsList(int? count = null, string cursor = null) { var endpoint = new Uri("direct_messages/events/list.json", UriKind.Relative); diff --git a/OpenTween/Models/DirectMessagesTabModel.cs b/OpenTween/Models/DirectMessagesTabModel.cs index 6fb9c0b6..daca78af 100644 --- a/OpenTween/Models/DirectMessagesTabModel.cs +++ b/OpenTween/Models/DirectMessagesTabModel.cs @@ -60,11 +60,6 @@ namespace OpenTween.Models await tw.GetDirectMessageEvents(read, backward) .ConfigureAwait(false); - await tw.GetDirectMessageApi(read, MyCommon.WORKERTYPE.DirectMessegeRcv, backward) - .ConfigureAwait(false); - await tw.GetDirectMessageApi(read, MyCommon.WORKERTYPE.DirectMessegeSnt, backward) - .ConfigureAwait(false); - TabInformations.GetInstance().DistributePosts(); progress.Report(Properties.Resources.GetTimelineWorker_RunWorkerCompletedText11); diff --git a/OpenTween/Resources/ChangeLog.txt b/OpenTween/Resources/ChangeLog.txt index 41cabd3f..634e7396 100644 --- a/OpenTween/Resources/ChangeLog.txt +++ b/OpenTween/Resources/ChangeLog.txt @@ -3,6 +3,7 @@ ==== Ver 2.1.2-dev(2018/xx/xx) * CHG: 投稿時取得の設定がオフでも、投稿した内容を即時タイムラインに反映させるようにしました * CHG: APIのレートリミットに達した場合、リセットされるまでは手動で更新してもリクエストを送らないように変更しました + * CHG: Directタブの更新時に旧DM APIへのアクセスを行わないよう変更しました (旧API廃止のため) * FIX: 起動時に取得したDMが1件も表示されない場合がある不具合を修正 (thx @brianhartgen!) * FIX: 起動直後からレートリミット規制中であった場合に解除までの時間がステータスバーに表示されない不具合を修正 diff --git a/OpenTween/Twitter.cs b/OpenTween/Twitter.cs index dd634ab4..dc5f5693 100644 --- a/OpenTween/Twitter.cs +++ b/OpenTween/Twitter.cs @@ -164,9 +164,6 @@ namespace OpenTween //プロパティからアクセスされる共通情報 private List _hashList = new List(); - //max_idで古い発言を取得するために保持(lists分は個別タブで管理) - private long minDirectmessage = long.MaxValue; - private long minDirectmessageSent = long.MaxValue; private string nextCursorDirectMessage = null; private long previousStatusId = -1L; @@ -487,8 +484,6 @@ namespace OpenTween case MyCommon.WORKERTYPE.Reply: case MyCommon.WORKERTYPE.UserTimeline: case MyCommon.WORKERTYPE.Favorites: - case MyCommon.WORKERTYPE.DirectMessegeRcv: - case MyCommon.WORKERTYPE.DirectMessegeSnt: case MyCommon.WORKERTYPE.List: // 不明 return 200; @@ -505,12 +500,6 @@ namespace OpenTween /// public static int GetApiResultCount(MyCommon.WORKERTYPE type, bool more, bool startup) { - if (type == MyCommon.WORKERTYPE.DirectMessegeRcv || - type == MyCommon.WORKERTYPE.DirectMessegeSnt) - { - return 20; - } - if (SettingManager.Common.UseAdditionalCount) { switch (type) @@ -1124,17 +1113,6 @@ namespace OpenTween try { post.StatusId = message.Id; - if (gType != MyCommon.WORKERTYPE.UserStream) - { - if (gType == MyCommon.WORKERTYPE.DirectMessegeRcv) - { - if (minDirectmessage > post.StatusId) minDirectmessage = post.StatusId; - } - else - { - if (minDirectmessageSent > post.StatusId) minDirectmessageSent = post.StatusId; - } - } //二重取得回避 lock (LockObj) @@ -1233,44 +1211,6 @@ namespace OpenTween } } - public async Task GetDirectMessageApi(bool read, MyCommon.WORKERTYPE gType, bool more) - { - this.CheckAccountState(); - this.CheckAccessLevel(TwitterApiAccessLevel.ReadWriteAndDirectMessage); - - var count = GetApiResultCount(gType, more, false); - - TwitterDirectMessage[] messages; - if (gType == MyCommon.WORKERTYPE.DirectMessegeRcv) - { - if (more) - { - messages = await this.Api.DirectMessagesRecv(count, maxId: this.minDirectmessage) - .ConfigureAwait(false); - } - else - { - messages = await this.Api.DirectMessagesRecv(count) - .ConfigureAwait(false); - } - } - else - { - if (more) - { - messages = await this.Api.DirectMessagesSent(count, maxId: this.minDirectmessageSent) - .ConfigureAwait(false); - } - else - { - messages = await this.Api.DirectMessagesSent(count) - .ConfigureAwait(false); - } - } - - CreateDirectMessagesFromJson(messages, gType, read); - } - public async Task GetDirectMessageEvents(bool read, bool backward) { this.CheckAccountState(); -- 2.11.0