Ich benutze die LinqToTwitter API und habe das folgende Problem.LinqToTwitter bekommen retweet Status
Wie kann ich die Informationen erhalten, wenn ich (der aktuelle Benutzer) bereits einen Tweet retweetet habe, obwohl ich die IsChecked-Eigenschaft auf dem ToggleButton für Retweet ändern kann.
Ich habe bereits versucht, alle Tweets eines einzigen Status zu erhalten, um es mit einer Liste von TweetIDs zu vergleichen, die ich retweetet habe.
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;
Und die TweetContent.AllMyRetweets wird hier definiert:
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);
}
}
Ich denke, diese Lösung zwei Probleme:
Es macht einen API-Aufruf für jeden tweet ich angezeigt werden soll was bedeutet, dass es viel Zeit brauchen kann.
Ich werde sehr schnell eine "Rate Limit exceeded" Ausnahme bekommen, die mir sagt, dass dies nicht der richtige Weg sein kann.
Was ist der beste Weg, dies zu tun?