Android SDK说明文档

跳转到: 导航, 搜索
(获取request token)
(获取access token)
第77行: 第77行:
  
 
===获取access token===
 
===获取access token===
 +
接口名称:public AccessToken generateAcessToken(Context context, RequestToken requestToken)
  
 +
<table class="wiki_table" border="0" cellspacing="0" cellpadding="0">
 +
<tr>
 +
<th class="wiki_table_thfirst">参数名称
 +
</th><th>作用
 +
</th></tr>
 +
<tr>
 +
<td class="wiki_table_tdfirst">context
 +
</td><td>传递应用上下文环境,用于获取当前网络状态,弹出对话框等。
 +
</td></tr>
 +
<tr>
 +
<td class="wiki_table_tdfirst">RequestToken
 +
</td><td>用于存取oauth token和oauth secret的token类
 +
</td></tr>
 +
</table>
  
 
+
返回结果:AccessToken:  AccessToken封装access tokens属性类,继承自Token,包含access_token, oauth_token_secret多个属性。
  
 
===获取Oauth2.0 的access token===
 
===获取Oauth2.0 的access token===

2012年2月9日 (四) 19:38的版本

目录

概述

微博Android平台SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方客户端无需了解复杂的验证,API调用过程。并可以实现分享到微博的功能,可以分享文字,或者多媒体信息到内置的分享页面,并发送到微博。

名词解释

Consumer_key 分配给每个第三方应用的app key。用于鉴权身份,显示来源等功能。
OAuth2/access_token|oauth2/access_token 生成请求request Token的secret,与consumer key一起分配。
Oauth_token 服务器根据app key和时间,callback_url等哈希出的token值,用于获取oauth verifier。
Oauth_token_secret 与oauth token一起使用,用于获取oauth verifier。
Oauth_verifier 通过oauth页面返回的verifier,用于最终获取access token。
Access_token 表示用户身份的token,用于微博API的调用。

整体架构

主要类说明:

  • 1、Weibo: 微博API 接口类,对外提供weibo api的调用,包括登录,API调用,微博分享等功能。
  • 2、AsyncWeiboRunner:微博api异步执行类,封装了回调接口,通过创建线程来调用Weibo中的接口方法。
  • 3、Utility:互联网工具类,包括接口请求GET/POST封装,BASE64等encode,decode方法。
  • 4、WeiboException:微博异常封装类,封装了微博的各个异常。

接口说明

Class com.weibo.net.Weibo:

获取request token

接口名称:public RequestToken getRequestToken(Context context, String key, String secret, String callback_url);


参数名称 作用
context 传递应用上下文环境,用于获取当前网络状态,弹出对话框等。
key 分配给第三方客户端的app key
secret 分配给第三方客户端的app secret
callback_url 用于oauth authorize页面回调的url


返回结果:RequestToken:RequestToken封装request tokens属性类,继承自Token,包含oauth_token, oauth_token_secret多个属性。

获取access token

接口名称:public AccessToken generateAcessToken(Context context, RequestToken requestToken)

参数名称 作用
context 传递应用上下文环境,用于获取当前网络状态,弹出对话框等。
RequestToken 用于存取oauth token和oauth secret的token类

返回结果:AccessToken: AccessToken封装access tokens属性类,继承自Token,包含access_token, oauth_token_secret多个属性。

获取Oauth2.0 的access token

微博API请求

分享到微博

通过XAuth认证获取用户身份

通过Oauth2.0隐式授权认获取AccessToken

实例分析

以下代码的具体信息请参考com_weibo_android_example工程。svn地址为: http://weibo-android-sdk.googlecode.com/svn/example

登录

第一步In AuthorizeActivity: 获取微博实体类,传入app key, secret,以及callback_url。


第二步In AuthorizeActivity: 用获取到的oauth token , oauth_token_secret访问open api authorize页面。


第三步 In TestActivity: 获取到callback的oauth_verifier,并根据它获取accessToken,完成登录。


访问微博API

第一步 In TestActivity: 调用Weibo实体类中request进行简单的微博API访问,前提是accessToken已经获取到。


分享到微博

第一步 in TestActivity: 得到weibo实体类,传入我们需要分享的文字”abc”, 以及要分享的图片路径”picPath”。


第二步 in TestActivity: 调用微博中share2weibo方法,传入activity引用,调起我们的分享页面。


异步调用AsyncWeiboRunner中API方法

第一步In ShareActvity: 调用类实现一部回调RequestLisener接口。


第二步In ShareActvity: 调用异步upload接口,实现发微博功能。

第三步In ShareActvity: 实现回调,对发表成功onComplete,以及发表失败onError的情况进行处理。

通过Oauth2.0隐式授权获得AccessToken

第一步 In AuthorizeActivity: 调用setRedirectUrl方法设置应用回调页。


对于Mobile客户端应用来说,是不存在Server的,故此处的应用回调页地址只要与新浪微博开放平台->我的应用->应用信息->高级应用->授权设置->应用回调页中的url地址保持一致就可以了,如图所示:


第二步In AuthorizeActivity: 实现WeiboDialogListener接口。授权成功后可在onComplete函数中获得accesstoken信息。具体如何保存、使用accesstoken信息由开发者自行处理。


第三步 In AuthorizeActivity: 调用authorize方法,弹出授权对话框,进行授权。授权成功后即可获得accestoken。


SDK使用说明

  • 1、将SDK的工程项目导入到eclipse中
  • 在eclipse中选择File->Import->General->Existing Projects into Workspace。注意:SDK工程的编码格式为UTF-8。如图所示:


  • 2、在需要集成本SDK的工程项目中添加Library
  • 右键 -> Properties -> Android。设置Library属性,如图所示:


  • 3、Manifest文件中必须包含以下permission:
  • <uses-permission android:name="android.permission.INTERNET"></uses-permission>
  • <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
  • <uses-permission android:name="android.permission.WRITE_APN_SETTINGS"></uses-permission>
  • <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
  • 4、代码中将APP_KEY, APP_SECRET存放在Weibo类中,可以修改成其他传参方式设置
  • In Weibo


  • In TestActivity
  • 5、SDK使用及修改必须遵守微博开发者协议,以及开源软件协议。