我不想在Twitter上做任何想象,除非每天通过我的网站发布一次。我已经搜索了一下,有各种各样的超级复杂的方法来做Twitter做的每一件小事,但似乎没有关于如何做最简单的事情的文档,这是一个帖子!
有谁知道怎么做?或者你能否至少指出我正确的方向?我不需要完整包装器或任何东西(http://apiwiki.twitter.com/Libraries#C/NET),只需要一个简单的函数发布到Twitter。
谢谢!
答案 0 :(得分:4)
这是迄今为止最简单的实施方式。在2分钟内启动并运行:Twitterizer
答案 1 :(得分:0)
有几种不同的方法可以执行此操作,具体取决于您要使用和可以访问的工具。选项1可以直接使用,但编码可能很复杂。选项3你必须下载工具,但是一旦安装和加载,你应该能够很快地使用twitter api。
以下是使用WCF REST入门套件的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#
答案 2 :(得分: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更新
答案 3 :(得分: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;
}