我想在我的WPF應用程序中使用twitter streaming API,我可以使用OAuth完成身份驗證過程。我的問題是我沒有意識到從Twitter獲取推文的過程。任何人都可以給我提供一些示例應用程序,它可以幫助我瞭解獲取和更新推文的過程。在wpf應用程序中使用twitter streaming API
謝謝。
我想在我的WPF應用程序中使用twitter streaming API,我可以使用OAuth完成身份驗證過程。我的問題是我沒有意識到從Twitter獲取推文的過程。任何人都可以給我提供一些示例應用程序,它可以幫助我瞭解獲取和更新推文的過程。在wpf應用程序中使用twitter streaming API
謝謝。
從Twitter流中讀取內容非常簡單。您只需提出請求,獲取響應流,然後開始閱讀。例如:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(twitter_search_url);
// this uses password authentication. Change for OAuth
request.Credentials = new NetworkCredential(TwitterUser, TwitterPassword);
request.KeepAlive = true;
request.UserAgent = user_agent_string;
HttpWebResponse response;
try
{
response = (HttpWebResponse)request.GetResponse();
var reader = new StreamReader(response.GetResponseStream());
string line;
while ((line = reader.ReadLine()) != null)
{
// line contains the tweet.
// parse with a JSON reader
}
// end of stream
}
catch (... handle exceptions here)
{
}
finally
{
response.Close();
}
響應流本質上是無限的,所以你會被卡在ReadLine
永遠循環下去。
我已經使用了上述代碼稍微更完整的版本幾年沒有麻煩。生產代碼當然有更好的錯誤處理,並且循環檢查事件,因此我可以乾淨地退出它,但讀取Twitter流的機制是相同的。
Jim,感謝您的回覆,但我收到了您提出的同樣問題。我陷入了一個無限循環,無法解決這個問題。你能幫我進一步探討如何從這個無限流中讀取數據。 –
@Vibhore:當我說「無限循環」時,我的意思是數據只是持續到來。它永不止息。我沒有任何麻煩閱讀流。上面的代碼沒有辦法*停止*讀取流,但可以很容易地添加。什麼,確切地說,是你遇到的問題。 –
Jim,我需要讀取此流中的所有數據以獲得最近的推文。但問題是我無法從流中讀取所有數據,因爲它會引發InvalidOperationException異常。我正在嘗試使用Stream.ReadToEnd()。 –
你看過圖書館,如[Twitterizer](http://www.twitterizer.net)?它可能會使它更容易。 – ChrisWay