原文地址为: .NET调用新浪微博开放平台接口的代码示例

博客园在新浪微博上开了官方微博(http://t.sina.com.cn/cnblogs),为了方便一些信息的更新,比如IT新闻,我们使用了新浪微博开放平台接口。

在这篇文章中,我们将和大家分享如何通过.NET(C#)调用新浪微博开放平台接口。

使用新浪微博开放平台接口,需要先申请一帐号,申请方法:给 @微博开放平台 发送私信,或者给open_sina_mblog@vip.sina.com发邮件,附上您的email,微博个人主页,电话,和简单介绍。

我们发了申请邮件后,不到1小时就收到了申请通过的邮件。然后进入新浪微博开放平台查看相关文档,在文档中(使用Basic Auth进行用户验证)发现新浪微博开发团队推荐了园子里的Q.Lee.lulu写的一篇博文:访问需要HTTP Basic Authentication认证的资源的各种语言的实现。这篇文章成为了我们的重要参考,但该文只是针对“GET”请求的情况,而新浪微博开放平台接口要求HTTP请求方式为“POST”,我们又参考了园子里的乌生鱼汤写的另一篇博文: 使用HttpWebRequest发送自定义POST请求。在这里感谢两位园友的分享!

接下来,我们开始.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调用新浪微博开放平台接口之旅就完成了,很简单吧。

如果没有Q.Lee.lulu与乌生鱼汤的文章作为参考,对我们来说就不会这么轻松,这也许就是分享的价值吧,你的一点小经验却可能给别人带来很大的帮助。

所以,我们也来分享一下,虽然不算什么经验,只是一个整理,但也许会对需要的人有帮助。

相关链接:sarlmolapple写了个C#的SDK:http://code.google.com/p/opensinaapi/

转载请注明本文地址: .NET调用新浪微博开放平台接口的代码示例

.NET调用新浪微博开放平台接口的代码示例相关推荐

  1. c#调用新浪微博开放平台接口

    在这篇文章中,我们将和大家分享如何通过.NET(C#)调用新浪微博开放平台接口. 使用新浪微博开放平台接口,需要先申请一帐号,申请方法:给@微博开放平台发送私信,或者给open_sina_mblog@ ...

  2. 新浪微博开放平台API中page参数的使用方法

    新浪微博开放平台API中page参数的使用方法 在做项目的时候,有时候要调用新浪微博开放平台的API.说实话,新浪微博的API功能很强大,但是API文档写的不是很清楚. 我在做项目的时候,调用了很多A ...

  3. 云极知客开放平台接口调用方法(C#)

    云极知客为企业提供基于SAAS的智能问答服务.支持企业个性化知识库的快速导入,借助语义模型的理解和分析,使企业客户立即就拥有本行业的24小时客服小专家.其SAAS模式实现零成本投入下的实时客服数据的可 ...

  4. Oauth2认证以及新浪微博开放平台应用

    一.OAuth2.0概述 大部分API的访问如发表微博.获取私信,关注都需要用户身份,目前新浪微博开放平台用户身份鉴权有OAuth2.0和Basic Auth(仅用于应用所属开发者调试接口),新版接口 ...

  5. 新浪微博开放平台深度历险

    作者:蒋宇捷(hfahe) 版权声明:原创作品,欢迎转载,转载时请务必以超链接形式标明文章原始出处 .作者信息和本声明. 10月21日补充 解决Ajax跨域的方法 可通过新浪提供的JS SDK解决,详 ...

  6. PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用——进一步学习的走向和有用的资源

    PHP+新浪微博开放平台+新浪云平台(SAE) --新浪微博应用开发的一个解决方案 一.PHP+新浪微博开放平台+新浪云平台(SAE)方案的基础 二.建立微博应用的过程 三.PHP SDK中Demo程 ...

  7. 新浪微博开放平台开发-android客户端(2)

    引言 最近不是太忙,花了一些时间学习android的应用开发.经过两个星期的学习,学习的同时还写了很多的demo示例,可以从基本控件及基本动画效果等示例demo集合大放送,持续更新下载. 从这个星期开 ...

  8. “淘宝” 开放平台接口设计思路

    最近对接的开放平台有点多,像淘宝.京东.快手.抖音等电商平台的开放平台基本对接了个遍,什么是CRUD BODY也许就是这样的吧!!! 虽然对接各大开放平台没啥技术含量,但咱也得学点东西不是,不能白对接 ...

  9. iOS学习之iOS5.0以上 使用新浪微博开放平台OAuth

    新浪微博开放平台为第三方应用提供了简便的合作模式,满足了手机用户和平板电脑用户随时随地分享信息的需求.通过调用平台的api即可实现很多微博上的功能. 本篇主要目的是记录新浪微博移动SDK iOS版本的 ...

  10. PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用基础

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! PHP+ ...

最新文章

  1. 成人高考 计算机英语作文,2018年成人高考英语作文范文六篇
  2. mcrypt_module_open php,求PHP7.1 加密函数mcrypt_module_open()替换方案
  3. Win7安装visual c++ 2015 redistributable x64失败
  4. 实用常识_实用垃圾收集,第1部分–简介
  5. Win32ASM学习[23]:RadASM快捷键
  6. 第1课 编程是一门技术_动动脑 第1题
  7. 短代码的java打地鼠_使用JavaScript实现网页版Pongo设计思路及源代码分享
  8. imail PHP,NT下基于邮件服务软件(IMAIL)的邮件发送程序–(本地版)-PHP教程,邮件处理...
  9. 航海王燃烧意志如何修改服务器,航海王燃烧意志自动战斗设置攻略 航海王燃烧意志自动战斗设置方法...
  10. 报表生成器FastReport.Net常见问题解答
  11. torch的maximum与max以及导出onnx
  12. matlab保存pgm图形,pgm格式文件及其在matlab中的读取存储方法(1)
  13. vsphere服务器虚拟化的优点,vmware虚拟化优势_vmware开启虚拟化
  14. 2022年汽车驾驶员(技师)考题模拟考试平台操作
  15. PHP赛事贝格尔编排法--双循环
  16. php 多个curl 很慢,PHP下CURL异常慢
  17. 王者荣耀扫码登录源码
  18. 服务器如何搭建FTP
  19. 通过企业微信,向AD域过期用户发送更改密码提醒
  20. 连接到手机热点显示无法解析服务器,Win10系统电脑可以成功连接上手机的热点但连不上网该如何处理...

热门文章

  1. python给excel排序_数据处理,Excel的排序功能,使用pandas在Python中轻松完成
  2. android登录界面素材,2014年国外30个精美APP登录界面UI设计欣赏
  3. 轻量级深度神经网络推理引擎——阿里巴巴的 MNN
  4. Word 如何取消自动编号
  5. jd页面与tianmao页面模仿jsonp跨域
  6. 手机h5像素_拍照超逆天!华为P30大奖来袭 | 4000万像素+50倍变焦,漳州手机摄影界真要沸腾了......
  7. 给CSDN上原创文章添加版权声明(干货)
  8. 关于msp430系列单片机的一些入门心得(新手向)
  9. 推荐几个免费下载破解软件的网站
  10. java编写蠕虫病毒_教大家编写蠕虫病毒