Обновление страницы в Твиттере через API - PullRequest
7 голосов
/ 13 марта 2010

Я использую API Twitter (через TweetSharp), и мне было интересно, можно ли автоматически обновить страницу из API, чтобы все пользователи видели обновление? Если да, то возможно ли сделать еще один шаг, обновив только частичную страницу, чтобы обновлялось только соответствующее изменение вместо всей страницы?

Спасибо за любую помощь

Ответы [ 3 ]

1 голос
/ 23 марта 2010

Мне кажется, я понимаю ваш вопрос, что вы хотите отобразить группу пользователей и их последний твит, но продолжайте проверять, изменился ли их последний твит, и обновлять экран, когда пользователь публикует твит?

Если это так, то ответ таков: вам нужно периодически вызывать 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) для периодического обращения к веб-сервису, который читает твиттер api , а затем используйте возвращенные данные для обновления последнего твита, если он изменился.

Дайте мне знать, если у меня неправильный конец палки.

EDIT:

Пример использования Tweetsharp для публикации нового твита в Twitter:

var query = FluentTwitter.CreateRequest().AuthenticateAs(username,password).Statuses().Update("Posting status on StackOverflow").AsJson();
0 голосов
/ 13 марта 2010

Если вы используете ASP .NET, вы можете рассмотреть возможность использования AJAX с элементом управления UpdatePanel . Вероятно, это будет самый простой способ получить то, что вам нужно, с ASP .NET

0 голосов
/ 13 марта 2010

Я не использую эту dll, но я пишу одну, и API Twitter ожидает, что вы перезвоните - я не знаю, как обновить Если эта dll позволяет вам делать запросы начиная с даты, то это возможно и, вероятно, будет параметром для вызова. Я надеюсь, что это немного помогает

...