J'utilise l'API LinqToTwitter et j'ai le problème suivant.LinqToTwitter obtenir le statut Retweet
Comment puis-je obtenir les informations si I (l'utilisateur actuel) a déjà retweeté un tweet alors que je peux changer la propriété IsChecked sur ToggleButton pour Retweet.
J'ai déjà essayé d'obtenir tous les tweets d'un seul statut pour le comparer avec une liste de tweetIDs que j'ai retweeté.
var publicTweets = await (from tweet in TweetContent.Connection.Status
where tweet.Type == StatusType.Retweets &&
tweet.ID == TweetID
select tweet)
.ToListAsync();
foreach (var publicTweet in publicTweets)
{
foreach (var myTweet in TweetContent.AllMyReTweets)
{
if (publicTweet.ID == myTweet)
{
// false means the ToggleButton is PreSet
RetweetState = false;
break;
}
}
}
// No hit
RetweetState = true;
Et les TweetContent.AllMyRetweets est défini ici:
List<ulong> myList = new List<ulong>();
var myRetweets = await (from retweet in TweetContent.Connection.Status
where retweet.Type == StatusType.RetweetsOfMe &&
retweet.Count == 100
select retweet)
.ToListAsync();
if (myRetweets != null)
{
foreach (var tweet in myRetweets)
{
myList.Add(tweet.ID);
}
}
Je pense que cette solution a deux problèmes:
Il fait un appel API pour chaque tweet que je veux afficher ce qui signifie qu'il peut avoir besoin de beaucoup de temps.
Je vais très rapidement obtenir une exception "Limite de débit dépassée" qui me dit que cela ne peut pas être la bonne façon de le faire.
Quelle est la meilleure façon de procéder?