gpt4 book ai didi

c# - 从我的时间轴返回所有推文

转载 作者:太空狗 更新时间:2023-10-30 01:20:36 24 4
gpt4 key购买 nike

我希望返回我在时间轴上发布的所有推文。

我正在使用 Linq To Twitter图书馆如此 -

var statusTweets =
from tweet in twitterCtx.Status
where tweet.Type == StatusType.User
&& tweet.UserID == MyUserID
&& tweet.Count == 200
select tweet;

statusTweets.ToList().ForEach(
tweet => Console.WriteLine(
"Name: {0}, Tweet: {1}\n",
tweet.User.Name, tweet.Text));

这很好用并带回了前 200 个。但是,前 200 个似乎是我可以检索的最大值,因为有办法带回 1000 个吗?似乎没有 next cursor movement 选项,就像在这个库的其他部分有移动到下一页等。

最佳答案

您可以结合使用 Count、MaxID 和 SinceID 来对推文进行分页。这听起来很奇怪,但考虑到推文流不断更新,这种方法有很好的理由。我写了一篇博文,Working with Timelines with LINQ to Twitter ,它指向 Twitter 文档并描述了 LINQ to Twitter 如何做到这一点。

// last tweet processed on previous query set
ulong sinceID = 210024053698867204;

ulong maxID;
const int Count = 10;
var statusList = new List<status>();

var userStatusResponse =
(from tweet in twitterCtx.Status
where tweet.Type == StatusType.User &&
tweet.ScreenName == "JoeMayo" &&
tweet.SinceID == sinceID &&
tweet.Count == Count
select tweet)
.ToList();

statusList.AddRange(userStatusResponse);

// first tweet processed on current query
maxID = userStatusResponse.Min(
status => ulong.Parse(status.StatusID)) - 1;

do
{
// now add sinceID and maxID
userStatusResponse =
(from tweet in twitterCtx.Status
where tweet.Type == StatusType.User &&
tweet.ScreenName == "JoeMayo" &&
tweet.Count == Count &&
tweet.SinceID == sinceID &&
tweet.MaxID == maxID
select tweet)
.ToList();

if (userStatusResponse.Count > 0)
{
// first tweet processed on current query
maxID = userStatusResponse.Min(
status => ulong.Parse(status.StatusID)) - 1;

statusList.AddRange(userStatusResponse);
}
}
while (userStatusResponse.Count != 0 && statusList.Count < 30);

关于c# - 从我的时间轴返回所有推文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18639108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com