Twitter StatusId

时间:2014-08-15 16:59:31

标签: twitter linq-to-twitter

我在ASP.net Web窗体应用程序中使用Linq2Twitter来返回最近的用户推文

var tweets = await
   (from tweet in ctx.Status
      where (
         (tweet.Type == StatusType.User)
         && (tweet.ScreenName == screenName)
         && (tweet.ExcludeReplies == true)
         && (tweet.IncludeMyRetweet == false)
         && (tweet.Count == 10)
         && (tweet.RetweetCount < 1)
      )
      select tweet)
   .Take(count)
   .ToListAsync();

这似乎运作良好,我得到了预期的Json回归,但是......

当我尝试构建原始推文的链接时......

“https://twitter.com/” + ScreenName + “/status/” + data.StatusId

我得到一个&#34;抱歉,页面不存在错误&#34;。

经过调查,似乎返回的StatusId不正确。例如,返回的StatusId是:

500244784682774500

当实际推文引用:

500244784682774528

换句话说,在这种情况下,StatusId似乎是28漂移。

任何人都可以对正在发生的事情/我做错了吗?

IThanks。

1 个答案:

答案 0 :(得分:2)

经过一些调试后,我发现返回LinqtoTwitter应用程序的ID是正确的,问题发生在JSON转换器或JavaScript本身无法处理无符号整数id值。

解决方案是从返回的结果创建一个简单的视图模型(使用针对LinqToTwitter.Status对象的扩展方法)并将其传递给客户端而不是整个数据图。