NET调用新浪微博开放平台接口之旅(图)
优采云 发布时间: 2021-05-20 19:18NET调用新浪微博开放平台接口之旅(图)
要使用新浪微博开放平台界面,您需要先申请一个帐户。申请方法:向@微博开平台发送私信,或发送收录您的电子邮件,微博个人主页,电话号码和简介的电子邮件。
发送申请电子邮件后,我们在不到1小时的时间内收到了申请批准电子邮件。然后进入新浪微博开放平台,查看相关文档。在该文档(使用Basic Auth进行用户身份验证)中,发现新浪微博开发团队在花园中推荐了Q.Lee.lulu撰写的博客文章:访问需要HTTP Basic Authentication实现各种资源语言。本文文章已成为我们的重要参考,但本文仅适用于“ GET”请求,而新浪微博开放平台接口要求HTTP请求方法为“ POST”,并且在本文中也引用了黑鱼。花园。 Tang撰写的另一篇博客文章:使用HttpWebRequest发送自定义POST请求。谢谢两位园丁的分享!
接下来,我们开始.NET的旅程,即调用新浪微博开放平台接口。
1.首先,我们需要获取一个应用程序密钥,并在新浪微博开放平台的“我的应用程序”中创建一个应用程序,并假设该应用程序密钥为123456,将生成该应用程序密钥。
2.在新浪微博API文档中找到您要调用的API。在这里,我们假设调用发布微博的API状态/更新。网址是POST参数:source = a*敏*感*词*ey&status = Weibo content。 a*敏*感*词*ey是先前获得的应用程序密钥。
3.准备数据
1)准备用户验证数据:
string username = "t@cnblogs.com";<br />string password = "cnblogs.com";<br />string usernamePassword = username + ":" + password;
用户名是您的微博登录用户名,密码是您的博客密码。
2)要调用的URL和要发布的数据:
string url = "http://api.t.sina.com.cn/statuses/update.json";<br /> string news_title = "VS2010网剧合集:讲述程序员的爱情故事";<br />int news_id = 62747;<br /> string t_news = string.Format("{0},http://news.cnblogs.com/n/{1}/", news_title, news_id );<br /> string data = "source=123456&status=" + System.Web.HttpUtility.UrlEncode(t_news);
4.准备用于发起请求的HttpWebRequest对象:
System.Net.WebRequest webRequest = System.Net.WebRequest.Create(url);<br /> System.Net.HttpWebRequest httpRequest = webRequest as System.Net.HttpWebRequest;
5.准备用于用户身份验证的凭据:
6.发起POST请求:
httpRequest.Method = "POST";<br /> httpRequest.ContentType = "application/x-www-form-urlencoded";<br /> System.Text.Encoding encoding = System.Text.Encoding.ASCII;<br />byte[] bytesToPost = encoding.GetBytes(data); <br /> httpRequest.ContentLength = bytesToPost.Length;<br /> System.IO.Stream requestStream = httpRequest.GetRequestStream();<br /> requestStream.Write(bytesToPost, 0, bytesToPost.Length);<br /> requestStream.Close();
上述代码成功执行后,内容将发布到您的微博上。
7.从服务器获取响应内容:
System.Net.WebResponse wr = httpRequest.GetResponse();<br /> System.IO.Stream receiveStream = wr.GetResponseStream();<br />using (System.IO.StreamReader reader = new System.IO.StreamReader(receiveStream, System.Text.Encoding.UTF8))<br /> {<br />string responseContent = reader.ReadToEnd();<br /> }
好的,.NET调用新浪微博开放平台接口的过程已经完成,非常简单。
如果您没有Q.Lee.lulu和鱼汤的文章作为参考,那么对我们而言,这并非易事。这也许是分享的价值,但是您的小经验可能会给其他人带来很大的帮助。
所以,我们也分享一下。尽管这不是一种体验,但它只是一种整理,但对有需要的人可能会有所帮助。