asp.net - 如何从 ASP.NET 应用程序发布推文

标签 asp.net twitter webforms

我正在尝试按照教程将推文发布到 Twitter,但它不起作用

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

他们是另一种方式吗?或者是否有人可以向我指出一个很好的教程,该教程展示了如何使用 asp.net C# Web 应用程序在 toppost 上发推文

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 */
    }
}

最佳答案

这是一个旧教程,因为 Twitter 多年前就已弃用基本身份验证。如今,您必须使用 OAuth,Twitter 在其 OAuth Documentation 中对此进行了描述。 。如果您不想编写自己的 OAuth 代码,您可以搜索第 3 方库(例如 DotNetOpenAuth),或者使用可以为您执行此操作的库,您可以在 Twitter Libraries 上找到该库。页。

免责声明:我在 Twitter 库页面上编写了一个库,名为 LINQ to Twitter .

注意:您需要以 Twitter API v1.1 为目标,因为 Twitter API v1.0 现已弃用,并将于下个月关闭。

我还注意到您似乎很难弄清楚问题所在。我最好的猜测是您收到了来自 Twitter 的 HTTP 401 Unauthorized 响应。如果您对请求调用 GetResponse(),此 401 响应将导致引发异常,但这不会在您的代码中发生,因为您只是推送请求。您应该调用 GetResponse 以确保您知道 Twitter 对您的代码的 react 。然后,您可以在 catch block 上打断点或记录响应以查看问题所在 - 有时您必须检查异常的字段才能获取更多信息。另一个很棒的调试工具是 Fiddler,它可以让您检查来自 Twitter 的响应。 FireBug 和 IE F12 工具是其他选项(可能还有更多),但目标是了解 Twitter 告诉您什么。

关于asp.net - 如何从 ASP.NET 应用程序发布推文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14729091/

相关文章:

c# - Asp.Net 表单例份验证重定向到 .../myapp/default.aspx 而不是 .../myapp/

c# - 如何在 C# 中发布一条推文

asp.net - SessionState 过期行为

asp.net - 基于 Server Controls 动态加载样式表

asp.net - asp中通过onclick事件的参数

jquery - 使用 jQuery 检测何时加载新推文?

twitter - 当您不知道 user.screen_name 时如何链接到特定推文?

asp.net - 从 ASP.NET 中的代码隐藏文件设置 iframe 的 src 的最佳方法是什么?

css - Bootstrap 弹出窗口和 asp :button 的问题

asp.net - 在服务器上对 PDF 进行数字签名