2010-03-12 5 views
7

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

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

+0

Вы отображения информации щебет в странице asp.net? – Foole

+0

Нет, я просто использую приложение (как asp.net, так и настольное приложение) для обновления страницы Twitter. – XSL

+0

Я больше всего нахожусь в написании приложения Twitter с помощью TweetSharp, поэтому я, вероятно, смогу помочь. Вы хотите публиковать твиты в Twitter для кучи пользователей или читать твиты для группы пользователей, а затем обновлять страницу, если изменяется последнее твит? Или что-то другое? – amelvin

ответ

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) для периодически hit a web service that reads the twitter api, а затем используйте данные, которые были возвращены, чтобы обновить последний твит, если он изменился.

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

EDIT:

Пример использования Tweetsharp размещения новой твит в Twitter является:

var query = FluentTwitter.CreateRequest().AuthenticateAs(username,password).Statuses().Update("Posting status on StackOverflow").AsJson(); 
+0

Привет, Спасибо за помощь. Я не могу попробовать код atm, но изменит ли ваш код страницу Twitter? Это то, что я собираюсь сделать. Таким образом, если пользователь обновляет что-то в своем приложении, они могут автоматически увидеть обновление страницы Twitter.com с помощью частичной обратной передачи – XSL

+0

@superexsl Я добавил пример публикации публикации в Twitter с помощью Tweetsharp – amelvin

0

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

+0

Привет, я не против пропустить API для этого бита и просто создать свой заголовок POST. Какой метод следует попробовать и вызвать с помощью моего настраиваемого заголовка? Спасибо за помощь – XSL

0

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

+0

Привет, Я не совсем понимаю, как UpdatePanel используется для обновления страницы Twitter? – XSL

+0

Думаю, я неправильно понял, что вы делали. Используете ли вы настольное приложение для отправки в Twitter, но не читаете его? Вы не используете API Twitter для отображения информации на странице ASP.NET, которую вы написали? Если вы ожидаете обновить окно браузера, отдельное от вашего настольного приложения, из вашего настольного приложения вам понадобится некоторый API в браузере, а не в Twitter. – Justin

+0

Привет, Я создаю настольное приложение и страницу ASP.NET. Я не возражаю, если это не работает для настольного приложения. Я не хочу обновлять мою страницу, я хочу обновить страницу Twitter.Например, когда вы получаете новый твит, он автоматически показывает новый твит, не обновляя страницу. Мне интересно, есть ли вызов AJAX, который я могу сделать, чтобы сделать это приложение. (например, когда я обновляю изображение профиля, он должен измениться без обновления на фактической странице Twitter) спасибо – XSL

Смежные вопросы