注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

软件大铺的博客

IT技术共享

 
 
 

日志

 
 

.NET调用新浪微博开放平台接口示例  

2012-02-12 20:33:57|  分类: .Net |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在这篇文章中,我们将和大家分享如何通过.NET(C#)调用新浪微博开放平台接口。使用新浪微博开放平台接口,需要先申请一帐号,申请方法: @微博开放平台 发送私信,或者给open_sina_mblog@vip.sina.com 发邮件,附上您的email,微博个人主页,电话,和简单介绍。

我们发了申请邮件后,不到1小时就收到了申请通过的邮件。接下来,我们开始.NET调用新浪微博开放平台接口之旅。

1. 首先我们要获取一个App Key,在新浪微博开放平台的“我的应用”中创建一个应用,就会生成App Key,假设是123456。

2. 在新浪微博API文档中找到你想调用的API,这里我们假定调用发表微博的API-statuses/update,url是http://api.t.sina.com.cn/statuses/update.json,POST的参数:source=appkey&status=微博内容。其中appkey就是之前获取的App Key。

3. 准备数据

  1) 准备用户验证数据:

string username = "t@cnblogs.com";
string password = "cnblogs.com";
string usernamePassword = username + ":" + password;

  username是你的微博登录用户名,password是你的博客密码。

  2) 准备调用的URL及需要POST的数据:

string url = "http://api.t.sina.com.cn/statuses/update.json";
string news_title = "VS2010网剧合集:讲述程序员的爱情故事";
int news_id = 62747;
string t_news = string.Format("{0},http://news.cnblogs.com/n/{1}/", news_title, news_id );
string data = "source=123456&status=" + System.Web.HttpUtility.UrlEncode(t_news);

4. 准备用于发起请求的HttpWebRequest对象:

System.Net.WebRequest webRequest = System.Net.WebRequest.Create(url);
System.Net.HttpWebRequest httpRequest
= webRequest as System.Net.HttpWebRequest;

5. 准备用于用户验证的凭据:

System.Net.CredentialCache myCache = new System.Net.CredentialCache();
myCache.Add(
new Uri(url), "Basic", new System.Net.NetworkCredential(username, password));
httpRequest.Credentials
= myCache;
httpRequest.Headers.Add(
"Authorization", "Basic " +
Convert.ToBase64String(
new System.Text.ASCIIEncoding().GetBytes(usernamePassword)));

6. 发起POST请求:

httpRequest.Method = "POST";
httpRequest.ContentType
= "application/x-www-form-urlencoded";
System.Text.Encoding encoding
= System.Text.Encoding.ASCII;
byte[] bytesToPost = encoding.GetBytes(data);
httpRequest.ContentLength
= bytesToPost.Length;
System.IO.Stream requestStream
= httpRequest.GetRequestStream();
requestStream.Write(bytesToPost,
0, bytesToPost.Length);
requestStream.Close();

上述代码成功执行后,就会把内容发到了你的微博上了。

7. 获取服务端的响应内容:

System.Net.WebResponse wr = httpRequest.GetResponse();
System.IO.Stream receiveStream
= wr.GetResponseStream();
using (System.IO.StreamReader reader = new System.IO.StreamReader(receiveStream, System.Text.Encoding.UTF8))
{
string responseContent = reader.ReadToEnd();
}

好了,.NET调用新浪微博开放平台接口之旅就完成了,很简单吧。

 

整理自博客园。

  评论这张
 
阅读(1344)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017