Я пытаюсь использовать Tweetinvi для извлечения всех твитов, сделанных определенным именем экрана.
Я пробовал GetUserTimeLine (см. Ниже), но он показывает твиты от всех людей, которых я слежу, а не только от моих.
IUser user = Tweetinvi.User.GetUserFromScreenName("SCREEN_NAME");
// Create a parameter for queries with specific parameters
var timelineParameter = Timeline.CreateUserTimelineRequestParameter(user);
timelineParameter.ExcludeReplies = true;
timelineParameter.TrimUser = true;
timelineParameter.IncludeRTS = false;
var tweets = Timeline.GetUserTimeline(timelineParameter);
return tweets;
Спасибо, Трэвис
Немного поздно, но, возможно, полезно для других (используя Tweetinvi NuGet 0.9.12.1):
Tweetinvi.Core.Interfaces.IUser user2 = Tweetinvi.User.GetUserFromScreenName("StackOverflow");
var userTimelineParam = new Tweetinvi.Core.Parameters.UserTimelineParameters
{
MaximumNumberOfTweetsToRetrieve = 100,
IncludeRTS=true
};
List<Tweetinvi.Core.Interfaces.ITweet> tweets2= new List<Tweetinvi.Core.Interfaces.ITweet>();
tweets2 = Timeline.GetUserTimeline(user2, userTimelineParam).ToList();
foreach (Tweetinvi.Core.Interfaces.ITweet prime2 in tweets2)
{
Debug.WriteLine(prime2.CreatedAt+" "+prime2.Text+" "+prime2.Id.ToString());
}
Twitter не предоставляет такую конечную точку. Поэтому вам нужно будет фильтровать твиты, которые не были созданы сами.
Просто используйте linq (используя System.Linq), чтобы отфильтровать результат после вашего кода:
var tweetsPublishedByMyself = tweets.Where(x => x.Creator.Equals(user)).ToArray();