You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用TweetSharp检索推文时遭遇文本截断问题求助

解决TweetSharp获取推文文本被截断的问题

嘿,我之前也踩过这个坑!你拿到的推文文本被截断,本质是因为Twitter v1.1 API默认只返回截断后的短文本(旧版140字符限制的遗留逻辑),要获取完整内容得调整请求参数才行。

问题根源

Twitter API对超过140字符的推文,默认会把文本截断到140字符并在末尾加…,如果想要完整内容,必须在请求时明确指定TweetMode为Extended。

修改后的代码示例

你只需要给SearchOptions添加TweetMode参数,并且读取推文时用FullText字段代替Text字段:

public List<Tweets> Search() {  // 顺便提一句,原代码方法名拼写是serarch,建议改成Search更规范
    List<Tweets> tlist = new List<Tweets>();
    var service = new TwitterService("ck", "cs");
    service.AuthenticateWith("tk", "ts");
    
    var options = new SearchOptions {
        Q = "#sexualassault",
        TweetMode = TweetMode.Extended  // 添加这一行,指定获取完整推文
    };
    
    var tweets = service.Search(options);
    foreach (var tweet in tweets.Statuses) {
        if (tlist.Count == 5) break;  // 假设你这里是要取前5条推文
        // 改用FullText获取完整内容
        tlist.Add(new Tweets { 
            // 替换成你的Tweets类对应的文本属性,比如Text = tweet.FullText
            Text = tweet.FullText 
        });
    }
    return tlist;
}

额外小提醒

  • 确保你的TweetSharp版本支持TweetMode枚举,如果是旧版本可能需要更新包。
  • 对于转发的推文,完整内容可能在RetweetedStatus.FullText里,遇到转发时可以这样处理:
    var fullText = tweet.RetweetedStatus != null ? tweet.RetweetedStatus.FullText : tweet.FullText;
    

内容的提问来源于stack exchange,提问作者Yankai He

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:03:22