2010-03-12 17 views
7

ich die Twitter-API (über TweetSharp) und frage mich, ob es möglich ist, automatisch die Seite aus der API zu aktualisieren, so dass alle Benutzer das Update sehen? Wenn ja, ist es auch möglich, einen Schritt weiter zu gehen, indem Sie nur ein Teil-Seiten-Update durchführen, so dass nur die relevante Änderung anstelle der gesamten Seite aktualisiert wird?Twitter Refresh-Seite via API

Vielen Dank für jede Hilfe

+0

angezeigten Sie Twitter-Informationen in einer asp.net Seite? – Foole

+0

Nein, ich verwende einfach die Anwendung (sowohl asp.net als auch die Desktop-App), um die Twitter-Seite zu aktualisieren. – XSL

+0

Ich bin die meisten des Weges ein Twitter-App mit TweetSharp durch das Schreiben, so kann ich wahrscheinlich helfen. Möchtest du Tweets für eine Reihe von Nutzern auf Twitter posten oder Tweets für eine Reihe von Nutzern lesen und dann die Seite aktualisieren, wenn sich der letzte Tweet ändert? Oder etwas anderes? – amelvin

Antwort

1

Ich glaube, ich verstehe Ihre Frage, dass Sie eine Reihe von Benutzern und deren letzte Tweet angezeigt werden sollen - aber halten Sie überprüfen, ob ihre letzte Tweet geändert hat und den Bildschirm aktualisieren, wenn der Benutzer einen Tweet schreibt?

Wenn ja, ist die Antwort, dass Sie die twitterapi asynchron aufrufen müssen und den letzten Status (Tweet) für jeden Benutzer herunterziehen - und wenn es ein neuer ist, dann verwenden Sie Ajax, um den Teil des Bildschirms zu aktualisieren mit dem alten Status (Tweet) drin.

In TweetSharp, wenn Sie eine Liste der Freunde haben, können Sie in ihrem letzten Tweet mit so etwas wie ziehen: zunächst

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"; 

So können Sie es auf dem Bildschirm angezeigt werden soll.

Dann verwenden Sie jquery (oder Javascript) zu periodisch hit a web service that reads the twitter api und verwenden Sie dann die Daten zurückgegeben, um den letzten Tweet zu aktualisieren, wenn es geändert hat.

Lassen Sie mich wissen, wenn ich das falsche Ende des Stockes haben.

EDIT:

Ein Beispiel für die Verwendung Tweetsharp einen neuen Tweet zu Twitter veröffentlichen ist:

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

Hallo, Danke für die Hilfe. Ich kann den Code atm nicht ausprobieren, aber würde dein Code die Twitter-Seite selbst ändern? Das will ich erreichen. Wenn ein Benutzer also etwas in meiner Anwendung aktualisiert, kann er das Twitter.com-Seitenupdate automatisch über ein teilweises Postback sehen. – XSL

+0

@superexsl Ich habe ein Beispiel hinzugefügt, um ein Update auf Twitter mit Tweetsharp zu veröffentlichen – amelvin

0

ich nicht diese DLL verwenden, aber ich schreibe ein, und der Twitter-API erwartet Sie wieder anrufen - es gibt keine Auffrischung, wie ich weiß. Wenn diese DLL Ihnen erlaubt, seit einem Datum abzufragen, dann ist das möglich und würde wahrscheinlich ein Parameter für den Anruf sein. Ich hoffe, das hilft ein wenig

+0

Hallo, ich habe nichts dagegen, die API für dieses Bit zu überspringen und einfach meinen POST-Header zu erstellen. Welche Methode sollte ich mit meinem benutzerdefinierten Header aufrufen? Danke für die Hilfe – XSL

0

Wenn Sie ASP verwenden .NET Sie AJAX mit der UpdatePanel Steuerung mit in Erwägung ziehen könnte. Es wäre wahrscheinlich der einfachste Weg, zu bekommen, was Sie mit ASP .NET benötigen

+0

Hallo, Ich verstehe nicht ganz, wie ein UpdatePanel verwendet wird, um Twitter-Seite zu aktualisieren? – XSL

+0

Ich glaube, ich habe missverstanden, was du getan hast. Verwenden Sie eine Desktop-Anwendung, um sie an Twitter zu senden, aber nicht von ihr zu lesen? Sie verwenden nicht die Twitter-API, um Informationen auf einer ASP.NET-Seite anzuzeigen, die Sie geschrieben haben? Wenn Sie ein Browserfenster, das von Ihrer Desktop-App getrennt ist, in Ihrer Desktop-App aktualisieren möchten, benötigen Sie eine API im Browser und nicht in Twitter. – Justin

+0

Hallo, ich erstelle eine Desktop-App und eine ASP.NET-Seite. Es macht mir nichts aus, wenn das für die Desktop-App nicht funktioniert. Ich möchte meine Seite nicht aktualisieren, ich möchte die Twitter-Seite selbst aktualisieren.Wie bei einem neuen Tweet wird der neue Tweet automatisch angezeigt, ohne die Seite zu aktualisieren. Ich frage mich, ob es einen AJAX-Anruf gibt, den ich machen kann, damit meine Anwendung das tut. (z. B. wenn ich das Profilbild aktualisiere, sollte es sich ohne eine Aktualisierung auf der aktuellen Twitter-Seite ändern) danke – XSL