[英]LinqToTwitter get Retweet status
我正在使用LinqToTwitter API,並且遇到以下問題。
盡管我(當前用戶)已經轉發了一條推文,但是我可以更改ToggleButton上的IsChecked屬性來轉發,但如何獲取信息。
我已經嘗試獲取一個狀態的所有tweet,並將其與我轉發過的tweetID列表進行比較。
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;
TweetContent.AllMyRetweets在這里定義:
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);
}
}
我認為此解決方案有兩個問題:
它為我要顯示的每條推特發出一個API調用,這意味着可能需要很多時間。
我很快就會收到“超出速率限制”異常,該異常告訴我這不是正確的方法。
做這個的最好方式是什么?
這比我想的要容易:-)
該信息位於屬性Status.Retweeted
中的每個Status中,但在默認的searh查詢(例如:
var tweets = Enumerable.FirstOrDefault(
from tweet in TweetContent.Connection.Search
where tweet.Type == SearchType.Search &&
tweet.Query == query &&
tweet.IncludeEntities == true &&
tweet.Count == maxNumberToFind && (tweet.MaxID == id)
select tweet);
之后,您必須使用剛剛收到的tweetIDList進行lookUp查詢。 這將使用正確的值填充屬性Status.Retweeted
。
List<Status> tweets =
await
(from tweet in TweetContent.Connection.Status
where tweet.Type == StatusType.Lookup &&
tweet.TweetIDs == tweetIDList
select tweet)
.ToListAsync();
return tweets;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.