4

除了每天通过我的网站发布一次之外,我不想在 Twitter 上做任何花哨的事情。我搜索了一下,有各种超级复杂的方法来做 Twitter 所做的每一件小事,但似乎很少有关于如何做最简单的事情的文档,那就是发帖!

有谁知道如何做到这一点?或者你至少能给我指出正确的方向吗?我不需要完整的包装器或任何东西(http://apiwiki.twitter.com/Libraries#C/NET),只需一个简单的函数即可发布到 Twitter。

谢谢!

4

4 回答 4

4

这是有史以来最简单的实现。在 2 分钟内启动并运行:Twitterizer

于 2009-05-11T22:42:54.620 回答
0

有几种不同的方法可以做到这一点,它们会根据您想要使用和访问的工具而有所不同。选项 1 开箱即用,但编码可能很复杂。选项 3 您必须下载工具,但一旦安装并加载,您应该能够非常快速地使用 twitter api。

  1. 使用 WebRequest.Create 创建/发送消息到远程端点
  2. 使用 WCF,创建镜像端点并使用仅客户端端点访问 twitter api。
  3. 使用WCF REST Starter Kit Preview 2,它有一个名为 HttpClient 的新类。如果可以的话,我将不得不推荐这种技术。这是一个在 3 分钟内使用 REST Twitter 源的精彩视频。

以下是使用 WCF REST Starter Kit 的 HttpClient 的示例:

    public void CreateFriendship(string friend)
    {
        using (var client = new HttpClient())
        {
            var url = string.Format("http://www.twitter.com/friendships/create/{0}.xml?follow=true", friend);
            client.Post(url)
                .CheckForTwitterError()
                .EnsureStatusIs(HttpStatusCode.OK);
        }
    }

如果您想了解有关特定方法的更多信息,请添加评论。

更新:

对于选项 #1,请参阅此问题:Remote HTTP Post with C#

于 2009-05-11T21:40:49.790 回答
0

它相当简单;您只需使用 webrequest.create 将 xml 文件发布到网页。这个例子很接近(假设你在另一个地方有消息的 xml,只是将它作为字符串传递给 twitterxml 变量。url 可能不是正确的;在定义接口的这个 [page][1] 上找到它

WebRequest req = null;
   WebResponse rsp = null;
   try
   {
    string twitterXML = "xml as string";
    string uri = "http://twitter.com/statuses/update.format";
    req = WebRequest.Create(uri);
    //req.Proxy = WebProxy.GetDefaultProxy(); // Enable if using proxy
    req.Method = "POST";        // Post method
    req.ContentType = "text/xml";     // content type
    // Wrap the request stream with a text-based writer
    StreamWriter writer = new StreamWriter(req.GetRequestStream());
    // Write the XML text into the stream
    writer.WriteLine(twitterXML);
    writer.Close();
    // Send the data to the webserver
    rsp = req.GetResponse();

   }

[1]:http ://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses 更新

于 2009-05-11T21:45:34.900 回答
0

有几种方法可以做到这一点,你可以看看http://restfor.me/twitter它将为您提供 RESTful 文档中的代码。

基本上进行任何经过身份验证的调用,您都可以遵循以下逻辑:


        /// 
        /// Executes an HTTP POST command and retrives the information.     
        /// This function will automatically include a "source" parameter if the "Source" property is set.
        /// 
        /// The URL to perform the POST operation
        /// The username to use with the request
        /// The password to use with the request
        /// The data to post 
        /// The response of the request, or null if we got 404 or nothing.
        protected string ExecutePostCommand(string url, string userName, string password, string data) {
            WebRequest request = WebRequest.Create(url);
            request.ContentType = "application/x-www-form-urlencoded";
            request.Method = "POST";
            if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(password)) {
                request.Credentials = new NetworkCredential(userName, password);



                byte[] bytes = Encoding.UTF8.GetBytes(data);

                request.ContentLength = bytes.Length;
                using (Stream requestStream = request.GetRequestStream()) {
                    requestStream.Write(bytes, 0, bytes.Length);

                    using (WebResponse response = request.GetResponse()) {
                        using (StreamReader reader = new StreamReader(response.GetResponseStream())) {
                            return reader.ReadToEnd();
                        }
                    }
                }
            }

            return null;
        }
于 2009-05-14T19:12:30.300 回答