【问题标题】:C# & Twitter API: Getting tweets with specific #tagC# 和 Twitter API:获取带有特定 #tag 的推文
【发布时间】:2014-06-25 22:15:29
【问题描述】:

我是 Twitter API 的新手,我试图在我的 C# Web 应用程序中获取带有特定主题标签的推文。 我能够对我的应用程序进行身份验证并从 Twitter 获取 JSON,以下是我遇到的一些问题/问题:

API 一次调用最多只能返回 100 条推文,那么如何检查我是否还有更多推文?

如果有人有将(Twitter 的)JSON 转换为自定义类对象的代码示例,那么 我可以计算推文(我尝试过但出现错误)?

我使用this 从 json 生成 c# 类并在执行以下操作时出错:

JavaScriptSerializer json_serializer = new JavaScriptSerializer();
RootObject routes_list = (RootObject)json_serializer.DeserializeObject(s);

【问题讨论】:

    标签: asp.net json c#-4.0 twitter


    【解决方案1】:

    Tweetinvi 为您管理。这是一个返回 200 个结果的示例。

    var searchParameter = Search.GenerateSearchTweetParameter("#my_tag");
    
    searchParameter.Lang = Language.English;
    searchParameter.SearchType = SearchResultType.Popular;
    searchParameter.MaximumNumberOfResults = 200;
    searchParameter.Since = new DateTime(2013, 12, 1);
    // ... There are many different parameters that can be set
    
    var tweets = Search.SearchTweets(searchParameter);
    tweets.ForEach(t => Console.WriteLine(t.Text));
    
    // Get number of objects
    var nbTweets = tweets.Count();
    

    希望这会有所帮助。

    【讨论】:

    • 你好,我最初使用这个库,但是有一些issue,所以我放弃了使用这个库的想法。
    • Twitter API 一次调用最多只能返回 100 条推文,那么如何检查我是否还有更多推文? Twitter API 根据您提供给方法的计数参数最多返回 100 条推文。这并不意味着您会收到所有这些推文。如果您想计算推文的数量或获取它们,您仍然可以使用 Tweetinvi ObjectConverter,只需提供您从自己的电话中收到的 json。 var searchQueryHelper = TweetinviContainer.Resolve(); var tweets = searchQueryHelper.GetTweetsFromJsonResponse(tweetsJson);
    • 您好,我上面提供的第二种解决方案是否解决了您的问题?
    • 我还没有尝试其他解决方案。我会在尝试后更新您。
    • 成功了吗?如果没有,我们很乐意为您提供更多帮助!
    【解决方案2】:

    当然,正如 user64 所说,Tweetinvi 是一个很棒的 AP​​I,请在 2.1 版中使用以下功能。注意设置 RateLimitTrack 模式

            // Set up my credentials in (https://apps.twitter.com)
            Auth.SetUserCredentials(consumer_key, consumer_secret, access_token, access_token_secret);
    
            // Enable Automatic RateLimit handling
            RateLimit.RateLimitTrackerMode = RateLimitTrackerMode.TrackAndAwait;
    
            var searchParameter = Search.CreateTweetSearchParameter("#My_Tag");
            searchParameter.Lang = LanguageFilter.Spanish; // or English
            searchParameter.SearchType = SearchResultType.Recent;
            searchParameter.MaximumNumberOfResults = 200; // or any number 
            searchParameter.Since = new DateTime(2013, 12, 1);
            var tweets = Search.SearchTweets(searchParameter); // tweets.Count() has the actual searched tweets
            foreach(var item in tweets)
            {
                // do anything with item and its properties example: item.Text;
            }
    

    【讨论】:

      猜你喜欢
      • 2015-04-07
      • 2011-10-01
      • 2011-05-08
      • 2020-08-24
      • 1970-01-01
      • 2023-03-31
      • 2015-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多