Favorites/list does not return all favorites


#1

I’ve created a small program to clear my favorites, and while it worked for the first few thousands (keeping within limits of 15 calls of 200 favorites per 15 minutes) I’ve noticed some strange behaviour:

I had 29k favorites on my account.

  1. It sometimes returned less than 200, sometimes 180, sometimes 193. I have not caught it returning 200 while debuggin.
  2. After reaching a certain point, it stopped returning any results. My profile page is showing 17.7k favorited items (though it shows the “You haven’t favorited any Tweets yet.” message as well).

This leads me to think that it returns cached favorite results only, and even then, the query might be slightly buggy.

I am using TweetSharp .net implementation.


#2

I have the same problem. I was using unfavinator.com. I understood there was a limit of 3200 unfavorites per day. It happened to me twice, each time after I hit the 3200 mark in batches of 200 (exactly, I believe). The second time. months later and over a period of hours, I decided to risk it, but with the same result, thus doubling the number of hidden favorites.

I’ve contacted twitter several times, but with no advice.

As a disclaimer, all favorites were read and favorited manually - either in support, acknowledgement or for later referral.


#3

TweetSharp or LinqToSql ? Full source code samples and real applications in C# using good patterns and practices, for minimize the learning curve ?


#4

I’m using TweetSharp because it was coded and out of the box, I’d much rather spend my time not re-inventing the wheel =]

That is IF I understood your questions properly.

I’m too busy in my normal system architect job to re-code a simple JSON to C# structure for no good reason whatsoever.

Regardless, any information on the actual issue bud?


#5

full sampes using TweetSharp that you would like share it ? Not re-code, neither re-inventing the wheel


#6
// Part executing the unfavorte.
if (unfavoriteAll)
{
    if (CanQueryFavorites())
    {
        var favorites = QueryFavorites(service);

        if (favorites != null &&
            favorites.Any() &&
            service.Response != null &&
            service.Response.StatusCode.Equals(HttpStatusCode.OK))
        {
            foreach (var favorite in favorites)
            {
                service.UnfavoriteTweet(new UnfavoriteTweetOptions
                {
                    Id = favorite.Id
                });
            }
        }
    }
}

// Methods used
private readonly List<DateTime> _queryFavorites = new List<DateTime>();
private bool CanQueryFavorites()
{
    return _queryFavorites.Count(pX => DateTime.Now.Subtract((DateTime)pX).TotalMinutes <= 15) < 15;
}

private IEnumerable<TwitterStatus> QueryFavorites(TwitterService service)
{
    _queryFavorites.Add(DateTime.Now);

    System.Diagnostics.Trace.WriteLine("Finding Favorites");

    return service.ListFavoriteTweets(new ListFavoriteTweetsOptions
    {
        Count = 200
    });
}