2013-02-06 32 views
2

我想下面的教程發佈鳴叫到Twitter,但它不工作爲它如何發佈從asp.net應用程序鳴叫

http://www.dotnettutorials.com/tutorials/advanced/ASP-Twitter-Posting.aspx

是他們的另一種方式,或者一些能指點一個很好的教程,顯示瞭如何使用toppost asp.net C#的Web應用程序

protected void Button1_Click(object sender, EventArgs e) 
{ 
    string username = "YOUR_USER_NAME"; 
    string password = "YOUR_PASSWORD"; 
    string tweet = TextBox1.Text; 

    try 
    { 
     string user = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(username + ":" + password)); 
     byte[] bytes = System.Text.Encoding.ASCII.GetBytes("status=" + tweet); 
     HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://twitter.com/statuses/update.xml"); 

     request.Method="POST"; 
     request.ServicePoint.Expect100Continue = false; 
     request.Headers.Add("Authorization", "Basic " + user); 
     request.ContentType="application/x-www-form-urlencoded"; 
     request.ContentLength = bytes.Length; 

     Stream reqStream = request.GetRequestStream(); 
     reqStream.Write(bytes, 0, bytes.Length); 
     reqStream.Close(); 
    } 
    catch (Exception ex) 
    { 
     /* DO NOTHING */ 
    } 
} 
+1

解釋_「它不工作」_ - 你有異常嗎?而且我猜即使你*得到了一個你不會知道的異常,因爲你在你的異常處理程序中沒有做任何事情*** – Blachshma

+0

@Blachshma,它不會發布到twitter而不會產生任何錯誤。代碼在沒有任何錯誤的情況下執行而不發佈任何東西 – Learning

+0

@KnowledgeSeeker,你有沒有檢查你的'catch'塊的任何異常? – DON

回答

2

這是一箇舊的輔導如Twitter基本身份驗證年前棄用鳴叫。目前,您必須使用OAuth,這是Twitter在其OAuth Documentation中描述的。如果您不想編寫自己的OAuth代碼,則可以搜索第三方庫,想到DotNetOpenAuth,或者使用可爲您提供此功能的庫,您可以在Twitter Libraries頁面上找到它。

免責聲明:我在Twitter圖書館頁面上寫了一個名爲LINQ to Twitter的圖書館。

注意:您將需要定位Twitter API v1.1,因爲Twitter API v1.0現在已被棄用,並將在下個月關閉。

我也注意到你似乎很難弄清楚問題在哪裏。我最好的猜測是你收到來自Twitter的HTTP 401 Unauthorized響應。如果你在請求中調用了GetResponse(),這個401響應會引發異常,但這不會在你的代碼中發生,因爲你只是在推送請求。您應該致電GetResponse以確保您知道Twitter如何響應您的代碼。然後,您可以在您的catch塊上找到一箇中斷點或者記錄響應以查看問題所在 - 有時您需要檢查異常字段以獲取更多信息。另一個很棒的調試工具是Fiddler,它可以讓你檢查Twitter的響應。 FireBug和IE F12工具是其他選項(可能更多),但目標是查看Twitter告訴你什麼。

+0

我使用的是Twitterizer2lite.dll它也不會工作它似乎使用OAuth,但我不知道我必須檢查文檔 – Learning

+0

@KnowledgeSeeker - 聽起來像一個不同的在這裏你的問題的主題。也許你可以用你正在嘗試使用的新代碼發佈一個新問題,並且知道該庫可能有幫助的人。我希望我的回答能幫助你解決你原來的問題。 –

相關問題