快速学习和使用新浪微博API开发WEB应用
2011-01-04 15:38
309 查看
新浪微博API,看起来像一个高深莫测的东西,的确,这也不是一个很简单是的东西。
新浪微博API,当我第一次接触它的时候真的不知所措,感觉得很难入手,而且中间经常出现错误,一般是漏了某些参数造成,就需要浪费大量的时间去调试,在这里要感谢一下我的朋友Randy的帮忙和指导!
好了,废话少说,现在直接告诉大家一些我的心得,快速学习和使用新浪API。
第一步:申请新浪微博账号,登陆后在这里http://open.t.sina.com.cn/apps创建一个应用,里面的信息暂时可以乱填写(应用开发完成了再回来修改)。创建后系统会分配一个App Key和App Secret,这两个是验证开发者的身份,必不可少(在下一步下载的SDK源码里会有作者的,应该还可以正常使用,建议替换成你的。)
第二步:下载SDK源码,我是使用C#的,所以下载的是http://open.t.sina.com.cn/wiki/index.php/SDK#C.23选择第二个或者http://code.google.com/p/opensinaapi/。下载完解压后,就可以直接使用VS打开。
第三步:SDK源码主要文件oAuthBase.cs 、oAuthSina.cs、 ISinaApiService.cs 、SinaApiService.cs四个文件。上一步提到的两个KEY就在oAuthSina.cs文件第31行,直接替换即可。
那再看SinaApiService.cs文件,第63行user_timeline方法。
/*用户发表微薄列表*/ public string user_timeline(string userid, string passwd, string format) { oAuthSina _oauth = new oAuthSina(); if (oAuth(userid, passwd, _oauth)) { string url = "http://api.t.sina.com.cn/statuses/user_timeline." + format; return _oauth.oAuthWebRequest(oAuthSina.Method.GET, url, String.Empty); } else return null; }
这里方法不是使用OAuth授权方式(一般是使用这种方式),所以我们需要修改一下代码,添加一个新方法为:
/*用户发表微薄列表*/ public string user_timeline(oAuthSina oauth, string format) { string url = "http://api.t.sina.com.cn/statuses/user_timeline." + format; return oauth.oAuthWebRequest(oAuthSina.Method.GET, url, String.Empty); }
其它的也一样的改法,就到这一步就直接使用这些API了。
第四步:创建一个WEB项目,新建两个文件分别是default.aspx和SinaApiCallBack.ashx。
default.aspx 页面显示
SinaApiCallBack.ashx API返回处理页面
在default.aspx 页面做一个a标签,代码如下:
<% oAuthSina oauth = new oAuthSina(); string authLink = oauth.AuthorizationSinaGet() + "&oauth_callback=http://localhost:2122/SinaApiCallBack.ashx"; Session["Sina_oAuth"] = oauth; //保存到Session以便于后台调用 %> <div> <a href="<%=authLink %>">登陆到新浪微博</a> </div>
SinaApiCallBack.ashx 页面代码如下:
context.Response.ContentType = "text/plain"; context.Response.Write("Hello World"); string oauth_token = context.Request["oauth_token"]; string oauth_verifier = context.Request["oauth_verifier"]; if (context.Session["Sina_oAuth"] != null) { oAuthSina oauth = (oAuthSina)context.Session["Sina_oAuth"]; //从前台session保存下来的 oauth.Verifier = oauth_verifier; oauth.Token = oauth_token; oauth.AccessTokenGet(oauth_token); SinaApiService sina = new SinaApiService(); string user = sina.user_timeline(oauth, "xml"); //以上几行代码暂时不需要知道是什么,但必不可少,照写就行了 context.Response.Write(user); //输出新浪API返回的XML文档内容 }
记得ashx文件使用session时一定要继承System.Web.SessionState.IReadOnlySessionState类,否则会出错。
好了,直接运行(F5),进入首页看到 登陆到新浪微博 点击,出现新浪授权提示,登陆你的新浪微博,新浪会跳转SinaApiCallBack.ashx页面。看到了吗?这是XML格式的内容,还有JSON格式的,然后就可以处理这些数据成为自己的所需的数据了。
到这里,你完全可以自己开发属于自己的微博应用,是不是没有想象中那么难呢?
刚开始时,不要去研究SDK的东西,这样你可以会被这个难倒的。我到现在也还不太懂SDK里的东西,见笑。
我还有一个xml处理类和SinaMUser用户模型类,这两个加起来可以很轻松处理新浪返回来的XML文档。
这些文件我迟点会贴出来。
在这里我做一个AD,我的自己开发的新浪应用http://www.wobumang.com/zhufu/sinaapp/希望大家支持一下。
有什么问题或建议大家可以一起讨论和研究。
作者:xusion
鸣谢:Randy
Tag:新浪API SDK源码 学习与使用
相关文章推荐
- 使用jQuery、Yahoo API和HTML5的geolocation来开发一个天气预报web应用
- ACCP学习旅程之-----使用C#开发数据库应用程序(第五章 用控件进行快速开发)
- php使用新浪微博API开发用户授权功能
- guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用
- NodeJS-学习笔记(2)--使用node提供的express框架开发简单的web应用
- 使用开放 API 和工具快速开发情景式 mashup 应用
- guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用
- 【Android开发学习45】使用google语音识别引擎(Google Speech API)<一>
- 学习win32 API开发7-在窗口中使用控件
- 使用Flask快速开发WEB应用-第二篇:Blueprint模块的应用
- Java使用新浪微博API开发微博应用的基本方法
- 使用jQuery、Yahoo API和HTML5的geolocation来开发一个天气预报web应用
- 新浪微博API开发WEB应用
- 在Android使用新浪微博的开发平台API
- 新浪微博API学习使用笔记(2)
- Netty学习(一)使用官网例子快速开发一个服务器
- JAVA学习:maven开发环境快速搭建How to download J2EE API (javaee.jar) from Maven
- guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用
- 学习使用MEAN开发RESTful WEB api,实现数据的CRUD
- 学习使用MEAN开发RESTful WEB api,实现数据的CRUD