使用scribe开发微博类oauth调用

DefaultApi20前篇文章说了如何使用基本的http api来调用新浪微博的应用,而在登陆这方面,新浪使用的是基本oauth2.0的授权应用,而其它如网易,腾讯则是使用基本1.0的调用,那么这两种应用都是基本oauth授权的应用,肯定有相应统一的开发技术了,那就是scribe。

关于scribe,可以访问其官方网站:https://github.com/fernandezpablo85/scribe-java,当然使用maven的话,可以使用以下的引用将其引用到项目中来:

		<dependency>
			<groupId>org.scribe</groupId>
			<artifactId>scribe</artifactId>
			<version>1.3.0</version>
		</dependency>

scribe支持oauth1.0a以及oauth2.0两个版本的授权应用。关于1.0和2.0的区别可以google进行查看,总的来说2.0是要比1.0要好些,应用也简单些。但每个提供商所支持的版本也不尽相同,所以本文分别演示两个版本的应用。

由于腾讯和网易所支持的版本均为1.0a,而新浪为2.0,所以本文仅给出参考代码,具体的代码,都差不多,无非就是根据不同的提供商的请求地址和参数进行修改的变化而已,主要的代码还是不变的。
备注:由于腾讯和网易在不给call_back参数的时候,需要设置为null,而不是标准中的oob,此处特地注明。
在scribe应用中,已经提供了国内主要微博和社区的oauth service api,其中有人人,新浪(仅为1.0a),腾讯和网易,所以本文也不需要额外再写了(当然要写的话还是很简单的)。这里要感谢Artorius,他的文章为:http://artori.us/java-oauth-lib-scribe-java-start-supporting-weibo

继续阅读“使用scribe开发微博类oauth调用”

使用java调用新浪微博开发api进行通信

注:本文代码已失效,请不要模仿之,其他方式请参考 使用scribe方式
最近研究了下新浪微博的开发api,尝试在某些客户端应用中也能够调用相应的api发送新浪微博,经过一番的尝试,最后成功。现将其中的几个关键点,以及相应的demo公示如下,供大家了解。
在本文中,主要演示了如何通过用户名/密码的方式,连接上新浪微博,然后读取最新的微博信息,最后演示如何发送一条简单的微博,其它的都可以通过相应的微博api进行处理,这里就没有仔细深入了。

首先得申请开发者授权,也就是你得在新浪上申请一个应用。直接通过地址为:http://open.weibo.com/,使用你的微博帐号登陆之后,创建一个应用即可。创建应用的目的在于获取相应的app Key和app Secret,在后面的主要api中,均会使用到app key,以便于新浪官方跟踪请求来源。具体流程,请google之。

申请好了之后,我们就开始我们的api之旅了,在本文中,没有使用官方提供的java sdk,因为主是简单的demo,如果是应用开发,还是可以下载相应的java sdk应用的,可以查看其中的example,了解如何进行调用。

本文使用了httpclient,使用maven的话,可以使用groupId为commons-httpclient,artifactId为commons-httpclient将其导入到工程中。其次,为了便于解析返回的数据,使用了JSON组件(fastjson),用于解析json字符串。

继续阅读“使用java调用新浪微博开发api进行通信”