2016-06-18 6 views
0

私はあなたのフォローしているユーザーとあなたがフォローするように要求したユーザーを見つけるための次のコードを持っています。その後、あなたに従わないものをアンフォローします。しかし、実際には動作するとは思われませんが、AuthenticatedUser_UnFollowUserはtrueを返します。何か案は?ありがとう。TweetInvi - ユーザーをアンフォローできない

  private void AuthenticateUser() 
        { 
         CheckRateLimits(); 
         Auth.SetUserCredentials(_consumerKey, _consumerSecret, _userAccessToken, _userAccessSecret); 
         authenticatedUser = User.GetAuthenticatedUser(); 
        } 

        private void CheckRateLimits() 
        { 

         // Enable RateLimit Tracking 
         RateLimit.RateLimitTrackerMode = RateLimitTrackerMode.TrackAndAwait; 
         TweetinviEvents.QueryBeforeExecute += (sender, args) => 
         { 
          var queryRateLimits = RateLimit.GetQueryRateLimit(args.QueryURL); 

          // Some methods are not RateLimited. Invoking such a method will result in the queryRateLimits to be null 
          if (queryRateLimits != null) 
          { 
           if (queryRateLimits.Remaining > 0) 
           { 
            AppendProgress("RateLimits Available : " + queryRateLimits.Remaining.ToString()); 
            // We have enough resource to execute the query 
            return; 
           } 

           // Strategy #1 : Wait for RateLimits to be available 
           AppendProgress("Waiting for RateLimits until : " + queryRateLimits.ResetDateTime.ToLongTimeString() + "For " + queryRateLimits.ToString()); 
           MessageBox.Show("Waiting for " + queryRateLimits.ResetDateTime.ToLongTimeString()); 
           Thread.Sleep((int)queryRateLimits.ResetDateTimeInMilliseconds); 

           // Strategy #2 : Use different credentials 
           //var alternateCredentials = TwitterCredentials.CreateCredentials("", "", "", ""); 
           //var twitterQuery = args.TwitterQuery; 
           //twitterQuery.OAuthCredentials = alternateCredentials; 

           // Strategy #3 : Cancel Query 
           //args.Cancel = true; 
          } 
         }; 
        } 

        private void UnfollowUsersNotFollowingYou() 
        { 
         AuthenticateUser(); 
         var toUnfollow = Examples.Friendship_GetUsersNotFollowingYou(); 

         toUnfollow.ForEach(x => 
         { 
          if (Examples.AuthenticatedUser_UnFollowUser(x.ScreenName)) 
          { 
           AppendProgress("You have unfollowed " + x.ScreenName); 
           SaveUnfollowedUserIdToTextFile(x.ScreenName); 
          } 
         }); 

        } 
//From Examples Static Class     
       public static bool AuthenticatedUser_UnFollowUser(string userName) 
        { 
         var authenticatedUser = User.GetAuthenticatedUser(); 
         var userToFollow = User.GetUserFromScreenName(userName); 

         bool unfollowed = authenticatedUser.UnFollowUser(userToFollow); 

         return unfollowed; 
        } 

    //Users Not Following You 
       public static IEnumerable<IUser> Friendship_GetUsersNotFollowingYou() 
      { 
       var currentuser = Examples.User_GetCurrentUserScreenname(); 
       var followers = Examples.User_GetFriendIds(currentuser); 
       var following = Examples.Friendship_GetUsersYouRequestedToFollow(); 

       var toUnfollow = following.Where(x => followers != x.FriendIds); 

       return toUnfollow; 
      } 

答えて

0

私はTweetinviの開発者です。私はちょうど確認しており、次のようなunfollowが正しく動作するようです。 Tweetinvi(0.9.13.0)の最新バージョンを使用していることを確認してください。

また、ユーザーがフォローされていなくてもUnfollowが成功することに注意してください。これはTwitterが戻ってきたことであり、私はそれについて何もできません。

EDIT:

問題は、@デビッド・beamontが適切にユーザーを取得していなかったという事実から来ました。私はあなたにプロジェクトを送信することができ、必要に応じて

var authenticatedUser = User.GetAuthenticatedUser(); 
var friends = authenticatedUser.GetFriends(); 
+0

:ここ

は、次のユーザーを取得するためのコードです。私はFavouriting、または以下の機能に問題はありませんでした。 –

+0

私はTweetinviAPI.0.9.13.0を使用しています –

+0

あなたのコードがライブで動作するのを見る必要があります。これがどうしてうまくいかないのか分かりません。あなたが参照しているすべての機能が適切に動作しています。 – Linvi

関連する問題