7

我正在使用 Twitter API(通过 TweetSharp)并且想知道是否可以从 API 自动刷新页面以便所有用户都能看到更新?如果是这样,是否也可以更进一步,只更新部分页面,以便只更新相关更改而不是整个页面?

谢谢你的帮助

4

3 回答 3

1

我想我理解你的问题,你想显示一群用户和他们的最后一条推文 - 但继续检查他们的最后一条推文是否已更改并在用户发布推文时更新屏幕?

如果是这样,答案是您需要每隔一段时间异步调用 twitterapi 并拉下每个用户的最后状态(推文) - 如果它是新状态,则使用 ajax 使用旧状态更新屏幕部分(推文)在里面。

在 TweetSharp 中,如果您有朋友列表,则可以使用以下内容提取他们的最后一条推文:

    string profileImageUrl = String.Empty;
    string name = String.Empty;
    string statusText = String.Empty;
    string createdAt = String.Empty;
    string screenName = String.Empty;

    foreach (TwitterUser friend in friends)
    {
        try
        {
            profileImageUrl = String.IsNullOrEmpty(friend.ProfileImageUrl) ? "" : friend.ProfileImageUrl;
            name = String.IsNullOrEmpty(friend.Name) ? "" : friend.Name;
            statusText = (friend.Status == null || friend.Status.Text.Length == 0) ? "unknown" : friend.Status.Text; //stops nullreferenceexception on instance
            createdAt = String.IsNullOrEmpty(friend.CreatedDate.ToString()) ? "" : friend.CreatedDate.ToString();
            screenName = String.IsNullOrEmpty(friend.ScreenName) ? "" : friend.ScreenName;
        }
        catch (NullReferenceException)
        {
            profileImageUrl = "";
            name = "unknown";
            statusText = "unknown";
            createdAt = "";
            screenName = "unknown";

因此,您最初可以在屏幕上显示它。

然后使用 jquery(或 javascript)定期访问读取 twitter api 的 Web 服务,然后使用返回的数据更新最后一条推文(如果它已更改)。

让我知道我是否有错误的一端。

编辑:

使用 Tweetsharp 向 Twitter 发布新推文的示例是:

var query = FluentTwitter.CreateRequest().AuthenticateAs(username,password).Statuses().Update("Posting status on StackOverflow").AsJson();
于 2010-03-23T01:23:50.553 回答
0

我不使用这个 dll,但我正在编写一个,并且 Twitter API 期望您再次调用 - 据我所知,没有刷新。如果此 dll 允许您从某个日期开始查询,那么这是可能的,并且可能是调用的参数。希望这会有帮助

于 2010-03-13T18:04:14.117 回答
0

如果您使用的是 ASP .NET,您可以考虑将 AJAX 与UpdatePanel控件一起使用。这可能是使用 ASP .NET 获得所需内容的最简单方法

于 2010-03-13T20:58:18.497 回答