从.NET应用程序发布“Hello World”到twitter
我的客户希望我使用.NET发布到Twitter,并建议我使用C#。
问:如何使用C#将“Hello World”发布到Twitter?
这篇文章提到了一个名为twitterizer的图书馆。 没有使用第三方库,是不是有本地方法呢? (也许不是因为身份validation是其中一项要求)。
只需将此实现的包装器用于Twitter API:
https://github.com/danielcrenna/tweetsharp
var twitter = FluentTwitter.CreateRequest() .AuthenticateAs("USERNAME", "PASSWORD") .Statuses().Update("Hello World!") .AsJson(); var response = twitter.Request();
来自: http : //code-inside.de/blog-in/2009/04/23/howto-tweet-with-c/
甚至还有DotNetRocks对开发人员的采访。
我创建了一个video教程,详细说明如何在twitter中设置应用程序,使用nuget安装API库,接受用户的访问令牌并代表该用户发布:
video: http : //www.youtube.com/watch?v = TGEA1sgMMqU
教程: http : //www.markhagan.me/Samples/Grant-Access-And-Tweet-As-Twitter-User-ASPNet
如果您不想离开此页面:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Twitterizer; namespace PostFansTwitter { public partial class twconnect : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { var oauth_consumer_key = "gjxG99ZA5jmJoB3FeXWJZA"; var oauth_consumer_secret = "rsAAtEhVRrXUTNcwEecXqPyDHaOR4KjOuMkpb8g"; if (Request["oauth_token"] == null) { OAuthTokenResponse reqToken = OAuthUtility.GetRequestToken( oauth_consumer_key, oauth_consumer_secret, Request.Url.AbsoluteUri); Response.Redirect(string.Format("http://twitter.com/oauth/authorize?oauth_token={0}", reqToken.Token)); } else { string requestToken = Request["oauth_token"].ToString(); string pin = Request["oauth_verifier"].ToString(); var tokens = OAuthUtility.GetAccessToken( oauth_consumer_key, oauth_consumer_secret, requestToken, pin); OAuthTokens accesstoken = new OAuthTokens() { AccessToken = tokens.Token, AccessTokenSecret = tokens.TokenSecret, ConsumerKey = oauth_consumer_key, ConsumerSecret = oauth_consumer_secret }; TwitterResponse response = TwitterStatus.Update( accesstoken, "Testing!! It works (hopefully)."); if (response.Result == RequestResult.Success) { Response.Write("we did it!"); } else { Response.Write("it's all bad."); } } } } }
是的,你可以在没有任何第三方库的情况下完成。 请参阅我在IronPython Cookbook网站上发布的IronPython示例 ,该示例向您展示了具体方法。 即使你没有在IronPython中编程,下面重复了应该让你开始的代码的主要部分,并且很容易移植到C#:
ServicePointManager.Expect100Continue = False wc = WebClient(Credentials = NetworkCredential(username, password)) wc.Headers.Add('X-Twitter-Client', 'Pweeter') form = NameValueCollection() form.Add('status', status) wc.UploadValues('http://twitter.com/statuses/update.xml', form)
基本上,这会对http://twitter.com/statuses/update.xml执行HTTP POST,其中包含一个名为status
HTML FORM字段,其中包含username
(和password
)标识的帐户的状态更新文本。
我建议您阅读http://developer.twitter.com/start上的文档。 它包含您需要的所有信息。
Twitter有自己的API来做到这一点