OSDN Git Service

ITwitterCredential.AuthTypeを追加
authorKimura Youichi <kim.upsilon@bucyou.net>
Sun, 10 Dec 2023 13:55:36 +0000 (22:55 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Sun, 10 Dec 2023 13:56:27 +0000 (22:56 +0900)
OpenTween/Api/TwitterApi.cs
OpenTween/Connection/ITwitterCredential.cs
OpenTween/Connection/TwitterCredentialCookie.cs
OpenTween/Connection/TwitterCredentialNone.cs
OpenTween/Connection/TwitterCredentialOAuth1.cs
OpenTween/Setting/SettingCommon.cs
OpenTween/Tween.cs
OpenTween/Twitter.cs

index c10c2ae..6614555 100644 (file)
@@ -45,14 +45,14 @@ namespace OpenTween.Api
 
         internal IApiConnectionLegacy ApiConnection;
 
-        public TwitterAppToken AppToken { get; private set; } = TwitterAppToken.GetDefault();
+        public APIAuthType AuthType { get; private set; } = APIAuthType.None;
 
         public TwitterApi()
             => this.ApiConnection = new TwitterApiConnection(new TwitterCredentialNone());
 
         public void Initialize(ITwitterCredential credential, long userId, string screenName)
         {
-            this.AppToken = credential.AppToken;
+            this.AuthType = credential.AuthType;
 
             var newInstance = new TwitterApiConnection(credential);
             var oldInstance = Interlocked.Exchange(ref this.ApiConnection, newInstance);
index 87f5a8d..fdad970 100644 (file)
@@ -27,7 +27,7 @@ namespace OpenTween.Connection
 {
     public interface ITwitterCredential
     {
-        TwitterAppToken AppToken { get; }
+        APIAuthType AuthType { get; }
 
         HttpMessageHandler CreateHttpHandler(HttpMessageHandler innerHandler);
     }
index 14452e0..ad0387c 100644 (file)
@@ -27,6 +27,9 @@ namespace OpenTween.Connection
 {
     public class TwitterCredentialCookie : ITwitterCredential
     {
+        public APIAuthType AuthType
+            => APIAuthType.TwitterComCookie;
+
         public TwitterAppToken AppToken { get; }
 
         public TwitterCredentialCookie(TwitterAppToken appToken)
index 67d1c86..f061203 100644 (file)
@@ -27,8 +27,8 @@ namespace OpenTween.Connection
 {
     public class TwitterCredentialNone : ITwitterCredential
     {
-        public TwitterAppToken AppToken
-            => TwitterAppToken.GetDefault();
+        public APIAuthType AuthType
+            => APIAuthType.None;
 
         public HttpMessageHandler CreateHttpHandler(HttpMessageHandler innerHandler)
             => innerHandler;
index 298ace0..9d2d159 100644 (file)
@@ -27,6 +27,9 @@ namespace OpenTween.Connection
 {
     public class TwitterCredentialOAuth1 : ITwitterCredential
     {
+        public APIAuthType AuthType
+            => APIAuthType.OAuth1;
+
         public TwitterAppToken AppToken { get; }
 
         public string Token { get; }
index 5d9f3ad..488d926 100644 (file)
@@ -455,6 +455,7 @@ namespace OpenTween
 
     public enum APIAuthType
     {
+        None,
         OAuth1,
         TwitterComCookie,
     }
index 0dc3568..0d2de5d 100644 (file)
@@ -1212,7 +1212,7 @@ namespace OpenTween
             var status = new PostStatusParams();
 
             var statusTextCompat = this.FormatStatusText(this.StatusText.Text);
-            if (this.GetRestStatusCount(statusTextCompat) >= 0 && this.tw.Api.AppToken.AuthType == APIAuthType.OAuth1)
+            if (this.GetRestStatusCount(statusTextCompat) >= 0 && this.tw.Api.AuthType == APIAuthType.OAuth1)
             {
                 // auto_populate_reply_metadata や attachment_url を使用しなくても 140 字以内に
                 // 収まる場合はこれらのオプションを使用せずに投稿する
@@ -7047,7 +7047,7 @@ namespace OpenTween
 
             if (endpointName == null)
             {
-                var authByCookie = this.tw.Api.AppToken.AuthType == APIAuthType.TwitterComCookie;
+                var authByCookie = this.tw.Api.AuthType == APIAuthType.TwitterComCookie;
 
                 // 表示中のタブに応じて更新
                 endpointName = tabType switch
index facd008..3b473a1 100644 (file)
@@ -242,7 +242,7 @@ namespace OpenTween
 
             TwitterStatus status;
 
-            if (this.Api.AppToken.AuthType == APIAuthType.TwitterComCookie)
+            if (this.Api.AuthType == APIAuthType.TwitterComCookie)
             {
                 var request = new CreateTweetRequest
                 {
@@ -287,7 +287,7 @@ namespace OpenTween
 
         public async Task DeleteTweet(TwitterStatusId tweetId)
         {
-            if (this.Api.AppToken.AuthType == APIAuthType.TwitterComCookie)
+            if (this.Api.AuthType == APIAuthType.TwitterComCookie)
             {
                 var request = new DeleteTweetRequest
                 {
@@ -393,7 +393,7 @@ namespace OpenTween
 
             var target = post.RetweetedId ?? id;  // 再RTの場合は元発言をRT
 
-            if (this.Api.AppToken.AuthType == APIAuthType.TwitterComCookie)
+            if (this.Api.AuthType == APIAuthType.TwitterComCookie)
             {
                 var request = new CreateRetweetRequest
                 {
@@ -435,7 +435,7 @@ namespace OpenTween
             if (post.RetweetedId == null)
                 throw new ArgumentException("post is not retweeted status", nameof(post));
 
-            if (this.Api.AppToken.AuthType == APIAuthType.TwitterComCookie)
+            if (this.Api.AuthType == APIAuthType.TwitterComCookie)
             {
                 var request = new DeleteRetweetRequest
                 {
@@ -452,7 +452,7 @@ namespace OpenTween
 
         public async Task<TwitterUser> GetUserInfo(string screenName)
         {
-            if (this.Api.AppToken.AuthType == APIAuthType.TwitterComCookie)
+            if (this.Api.AuthType == APIAuthType.TwitterComCookie)
             {
                 var request = new UserByScreenNameRequest
                 {
@@ -655,7 +655,7 @@ namespace OpenTween
             var count = GetApiResultCount(MyCommon.WORKERTYPE.UserTimeline, more, false);
 
             TwitterStatus[] statuses;
-            if (this.Api.AppToken.AuthType == APIAuthType.TwitterComCookie)
+            if (this.Api.AuthType == APIAuthType.TwitterComCookie)
             {
                 var userId = tab.UserId;
                 if (MyCommon.IsNullOrEmpty(userId))
@@ -711,7 +711,7 @@ namespace OpenTween
             this.CheckAccountState();
 
             TwitterStatus status;
-            if (this.Api.AppToken.AuthType == APIAuthType.TwitterComCookie)
+            if (this.Api.AuthType == APIAuthType.TwitterComCookie)
             {
                 var request = new TweetDetailRequest
                 {
@@ -867,7 +867,7 @@ namespace OpenTween
             var count = GetApiResultCount(MyCommon.WORKERTYPE.List, more, startup);
 
             TwitterStatus[] statuses;
-            if (this.Api.AppToken.AuthType == APIAuthType.TwitterComCookie)
+            if (this.Api.AuthType == APIAuthType.TwitterComCookie)
             {
                 var request = new ListLatestTweetsTimelineRequest(tab.ListInfo.Id.ToString())
                 {
@@ -1077,7 +1077,7 @@ namespace OpenTween
             var count = GetApiResultCount(MyCommon.WORKERTYPE.PublicSearch, more, false);
 
             TwitterStatus[] statuses;
-            if (this.Api.AppToken.AuthType == APIAuthType.TwitterComCookie)
+            if (this.Api.AuthType == APIAuthType.TwitterComCookie)
             {
                 var request = new SearchTimelineRequest(tab.SearchWords)
                 {