Asp.net mvc 林克在推特上大发牢骚

Asp.net mvc 林克在推特上大发牢骚,asp.net-mvc,twitter,linq-to-twitter,Asp.net Mvc,Twitter,Linq To Twitter,我尝试了下面的代码,但还是不完全符合我的要求。 只有一次珍珠洪水即将来临。有90次洪水。 RT的人不应该来,只应该通过电话来 作为一个例子,我分享了这张照片。在这种情况下我该怎么办 我拥有LINQ到Twitter。分页搜索可以返回更多值。下面是一个例子: const int MaxSearchEntriesToReturn = 100; const int SearchRateLimit = 180; string searchTerm = "Flood Name"; // oldest i

我尝试了下面的代码,但还是不完全符合我的要求。 只有一次珍珠洪水即将来临。有90次洪水。 RT的人不应该来,只应该通过电话来

作为一个例子,我分享了这张照片。在这种情况下我该怎么办


我拥有LINQ到Twitter。分页搜索可以返回更多值。下面是一个例子:

const int MaxSearchEntriesToReturn = 100;
const int SearchRateLimit = 180;

string searchTerm = "Flood Name";

// oldest id you already have for this search term
ulong sinceID = 1;

// used after the first query to track current session
ulong maxID; 

var combinedSearchResults = new List<Status>();

List<Status> searchResponse =
    await
    (from search in twitterCtx.Search
     where search.Type == SearchType.Search &&
           search.Query == searchTerm &&
           search.Count == MaxSearchEntriesToReturn &&
           search.SinceID == sinceID &&
           search.TweetMode == TweetMode.Extended
     select search.Statuses)
    .SingleOrDefaultAsync();

if (searchResponse != null)
{
    combinedSearchResults.AddRange(searchResponse);
    ulong previousMaxID = ulong.MaxValue;
    do
    {
        // one less than the newest id you've just queried
        maxID = searchResponse.Min(status => status.StatusID) - 1;

        Debug.Assert(maxID < previousMaxID);
        previousMaxID = maxID;

        searchResponse =
            await
            (from search in twitterCtx.Search
             where search.Type == SearchType.Search &&
                   search.Query == searchTerm &&
                   search.Count == MaxSearchEntriesToReturn &&
                   search.MaxID == maxID &&
                   search.SinceID == sinceID &&
                   search.TweetMode == TweetMode.Extended
             select search.Statuses)
            .SingleOrDefaultAsync();

        combinedSearchResults.AddRange(searchResponse);
    } while (searchResponse.Any() && combinedSearchResults.Count < SearchRateLimit);

    combinedSearchResults.ForEach(tweet =>
        Console.WriteLine(
            "\n  User: {0} ({1})\n  Tweet: {2}",
            tweet.User.ScreenNameResponse,
            tweet.User.UserIDResponse,
            tweet.Text ?? tweet.FullText)); 
}
else
{
    Console.WriteLine("No entries found.");
}
有几件事需要注意:

将Count设置为MaxSearchEntriestReturn,因为它默认为15,并且您希望最小化查询数量。 while循环检查SearchRateLimit,因为存在导致您获得HTTP 429的速率限制。仅应用程序的速率限制高于我在此处添加的180。 请注意,我是如何使用SinceID和MaxID来浏览结果的。请参阅twitterapi文档,了解它们是什么。 另外,请阅读文档,注意标准搜索API关注的是相关性而不是完整性。
你能分享一些代码并解释这里到底出了什么问题吗?我分享了我的代码。有人能帮我吗?我不是C专家,但是SingleOrDefaultAsync方法在Linq中只返回一个条目,所以你显式地将tweets的值设置为一个Tweet结果。如果希望得到一个tweet列表,则需要将代码更改为迭代。你也应该知道Twitter的标准搜索API只覆盖了7天的历史,所以这也许可以解释为什么你没有更早地收到推文。是的,我知道我尝试过同步,但我不想这么做。我的目标是链接。当我搜索关键词HANEDANLAR MASASININ YER ALTI EGEMENLİĞİİİO Tİ以获得所有twets 1到90。我该怎么做。嗨,我该怎么在7天前发推特呢。这个网站上没有注册。这个网站是如何做到的。你知道下面的网站吗。
const int MaxSearchEntriesToReturn = 100;
const int SearchRateLimit = 180;

string searchTerm = "Flood Name";

// oldest id you already have for this search term
ulong sinceID = 1;

// used after the first query to track current session
ulong maxID; 

var combinedSearchResults = new List<Status>();

List<Status> searchResponse =
    await
    (from search in twitterCtx.Search
     where search.Type == SearchType.Search &&
           search.Query == searchTerm &&
           search.Count == MaxSearchEntriesToReturn &&
           search.SinceID == sinceID &&
           search.TweetMode == TweetMode.Extended
     select search.Statuses)
    .SingleOrDefaultAsync();

if (searchResponse != null)
{
    combinedSearchResults.AddRange(searchResponse);
    ulong previousMaxID = ulong.MaxValue;
    do
    {
        // one less than the newest id you've just queried
        maxID = searchResponse.Min(status => status.StatusID) - 1;

        Debug.Assert(maxID < previousMaxID);
        previousMaxID = maxID;

        searchResponse =
            await
            (from search in twitterCtx.Search
             where search.Type == SearchType.Search &&
                   search.Query == searchTerm &&
                   search.Count == MaxSearchEntriesToReturn &&
                   search.MaxID == maxID &&
                   search.SinceID == sinceID &&
                   search.TweetMode == TweetMode.Extended
             select search.Statuses)
            .SingleOrDefaultAsync();

        combinedSearchResults.AddRange(searchResponse);
    } while (searchResponse.Any() && combinedSearchResults.Count < SearchRateLimit);

    combinedSearchResults.ForEach(tweet =>
        Console.WriteLine(
            "\n  User: {0} ({1})\n  Tweet: {2}",
            tweet.User.ScreenNameResponse,
            tweet.User.UserIDResponse,
            tweet.Text ?? tweet.FullText)); 
}
else
{
    Console.WriteLine("No entries found.");
}