文档章节

在Android使用新浪微博的开发平台API

AlexZhuang
 AlexZhuang
发布于 2012/04/20 21:59
字数 425
阅读 3862
收藏 8

1.通过官方网址下载SDK:

Weibo4Android:

http://code.google.com/p/weibo4j/downloads/detail?name=weibo4android-1.2.1.zip

2.SDK中有现成的Demo演示如何通过oauth认证,认证和使用流程大概如下:

(1)在/weibo4android/src/weibo4android/Weibo.java 设置App Key 和App Secret(在官方网站新建应用可获得) ,如下所示:

public static String CONSUMER_KEY = "2664209963";

	public static String CONSUMER_SECRET = "b428615797a5d676d428cd146c040399";

(2)在/weibo4android/examples/weibo4android/androidexamples/AndroidExample.java中,将App Key 和App Secret设置进系统类中:

System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);

System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);

(3)通过http post方式向服务提供方请求获得RequestToken

RequestToken  requestToken =weibo.getOAuthRequestToken("weibo4android://OAuthActivity");

 ("weibo4android://OAuthActivity" 为回调URL,即用户对第三方应用授权后会通过此URL返回第三方应用, 回调URL作为请求参数传递给服务提供方)

(4)将用户引导至授权页面

Uri uri = Uri.parse(requestToken.getAuthenticationURL()+ "&display=mobile");

startActivity(new Intent(Intent.ACTION_VIEW, uri));

(5)授权页面要求用户输入用户名和密码,授权完成后,服务提供方会通过回调URL将用户引导回客户端页面OAuthActivity 页面

<activity android:name=".OAuthActivity">

	        <intent-filter>

		        <action android:name="android.intent.action.VIEW" />

		        <category android:name="android.intent.category.DEFAULT" />

		        <category android:name="android.intent.category.BROWSABLE" />

		        <data android:scheme="weibo4android" android:host="OAuthActivity" /> 

			</intent-filter>

        </activity>

(6)客户端根据临时令牌和用户授权码从服务提供方那里获取访问令牌 (Access Token)

Uri uri=this.getIntent().getData();

RequestToken requestToken= OAuthConstant.getInstance().getRequestToken();

AccessToken  accessToken=requestToken.getAccessToken(uri.getQueryParameter("oauth_verifier"));

uri.getQueryParameter("oauth_verifier")为用户授权后返回的授权码

(7)获得访问令牌后便可使用API接口获得和操作用户数据

Weibo weibo=OAuthConstant.getInstance().getWeibo();

weibo.setToken(OAuthConstant.getInstance().getToken(), OAuthConstant.getInstance().getTokenSecret());


String[] args = new String[2];

args[0]=OAuthConstant.getInstance().getToken();

args[1]=OAuthConstant.getInstance().getTokenSecret();

try {

	GetFollowers.main(args);//返回用户关注对象列表,并返回最新微博文章

} catch (Exception e) {

	e.printStackTrace();

}

 

© 著作权归作者所有

共有 人打赏支持
AlexZhuang
粉丝 65
博文 69
码字总数 14014
作品 0
广州
程序员
私信 提问
加载中

评论(3)

J
Jack_ur
您提到:"weibo4android://OAuthActivity" 为回调URL
此处报错:java.lang.IllegalStateException: Neither user ID/password combination nor OAuth consumer key/secret combination supplied
AlexZhuang
AlexZhuang

引用来自“Raphon”的评论

您提到:"weibo4android://OAuthActivity" 为回调URL

请教此回调URL的具体含义 weibo4android是包名 还是什么呢?

目前在此遇到一个空指针的问题 还麻烦您帮忙解释下 多谢~

weibo4android是xml文件中定义的索引名,您可以看一下文中的第(5)部分的xml代码:<data android:scheme="weibo4android" android:host="OAuthActivity" />
,索引名是自定义的,只要与Java代码中的URL匹配即可
R
Raphon
您提到:"weibo4android://OAuthActivity" 为回调URL

请教此回调URL的具体含义 weibo4android是包名 还是什么呢?

目前在此遇到一个空指针的问题 还麻烦您帮忙解释下 多谢~
android开发之第三方集成之OAUTH教程篇

微博作为新兴的一项网络工具,在某种意义上讲实现了把世界变小的作用。足不出户,也变成了现实。作为程序员我们更加关注的是为我所用。幸好的是微博运行商为我们提供了丰富的接口,我们可以善...

长平狐
2012/08/21
1K
0
android开发之第三方集成之OAUTH教程篇

微博作为新兴的一项网络工具,在某种意义上讲实现了把世界变小的作用。足不出户,也变成了现实。作为程序员我们更加关注的是为我所用。幸好的是微博运行商为我们提供了丰富的接口,我们可以善...

长平狐
2012/08/09
649
0
android开发之第三方集成之OAUTH教程篇

微博作为新兴的一项网络工具,在某种意义上讲实现了把世界变小的作用。足不出户,也变成了现实。作为程序员我们更加关注的是为我所用。幸好的是微博运行商为我们提供了丰富的接口,我们可以善...

长平狐
2012/08/14
1K
0
友推常见问题和解决方案汇总

1) v4包版本冲突,解决方法在lib工程和应用工程使用同一个版本的v4包 2) 社交平台jar包冲突,如果开发者前面引入过分享平台的开发包,并且和友推sdk使用的开发包冲突,请删除原先导入的包 3)...

bidaround
2014/07/24
71
1
新浪微博客户端 -- OAuth认证

OAuth的基本概念,OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方...

长平狐
2012/09/03
686
1

没有更多内容

加载失败,请刷新页面

加载更多

Httpd 整合 Tomcat 步骤

环境:Tomcat8 + Httpd2.4 工作原理:借助于Tomcat的AJP连接器实现Apache与Tomcat的通信 配置步骤: 1. 配置httpd.conf 新增: Include conf/extra/mod_jk.conf 修改:添加 index.jsp <IfM...

ZeroneLove
昨天
1
0
Docker笔记3——容器命令(未写完,明天整理接着写)

未写完,明天整理接着写 新建并启动容器 docker run docker run [OPTIONS] IMAGE [COMMEND] [ARG...] OPTIONS: --name=[容器新名字] :为容器指定一个名称 -d:后台运行容器,并返回容器ID,...

HappyBKs
昨天
1
0
2018个人年终总结

感谢领导的信任和指导,新的一年获得了很多成长和提高,改掉了很多不好的习惯。 在这一年里,我在领导的帮助下,主要完成了以下功能: 1、完成上海银行版本投资营销相关功能的开发。 2、完成车...

万山红遍
昨天
9
0
保密工作与linux系统的发展

保密工作从性质上可以分成商业方面的保密和国家安全方面的保密。由于自己从事的是IT方面的工作,工作中必然会接触涉及到计算机信息方面的相关文件。加上单位已近通过武器装备科研生产单位二级...

linux-tao
昨天
2
0
Spark共享变量

概述 Spark程序的大部分操作都是RDD操作,通过传入函数给RDD操作函数来计算。这些函数在不同的节点上并发执行,但每个内部的变量有不同的作用域,不能相互访问,所以有时会不太方便,Spark提...

仟昭
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部