没有合适的资源?快使用搜索试试~ 我知道了~
微盘AndroidSDK开发者文档1
需积分: 0 0 下载量 22 浏览量
2022-08-03
13:36:35
上传
评论
收藏 401KB PDF 举报
温馨提示
试读
20页
1.在 Eclipse 中导入 VDiskSdk 项目 3.在您的项目的 AndroidManifest.xml 中加入以下可能需要使用的权限: 4.在您的项目
资源推荐
资源详情
资源评论
新浪微盘 VDisk
Android SDK 开发者文档
时间
内容
参与人
2013-5-7
文档创建,初版完成
殷凯,王彤
2014-2-11
添加微博 SSO 认证登录
王彤
2014-2-25
添加使用 RefreshToken 刷新 AccessToken 机制
王彤
2014-4-25
添加用户详细信息
王彤
微盘 Android SDK 开发者交流群: 240235926
微盘 OpenAPI、全平台 SDK 交流群: 134719337, 162285095
请先前往微盘开发者中心注册为微盘开发者,并创建应用。
认证相关
OAuth2.0(开放授权)是一个开放标准,用户授权后,第三方应用无需获取用户的用户
名和密码就可以访问该用户在某一网站上存储的资源(如照片,视频和其他文件)。
以下介绍操作步骤:
1.在 Eclipse 中导入 VDiskSdk 项目。
2.在您的项目(如果已经存在)右键 Properties - Android - Library - Add 添加
VDiskSdk。
3.在您的项目的 AndroidManifest.xml 中加入以下可能需要使用的权限:
<uses-permission android:name=
"android.permission.INTERNET"
/>
<uses-permission android:name=
"android.permission.READ_PHONE_STATE"
/>
<uses-permission android:name=
"android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission android:name=
"android.permission.CHANGE_WIFI_STATE"
/>
<uses-permission android:name=
"android.permission.ACCESS_NETWORK_STATE"
/>
<uses-permission android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
4.在您的项目里负责认证的 Activity 中继承接口 implements VDiskDialogListener。
5.在您的项目中填写开发者应用的 App Key 及 App Secret,开发者可登录新浪微盘开
放平台 http://vdisk.weibo.com/developers/进入“我的应用”查看。
例如
public static final String
CONSUMER_KEY
= "//填入开发者应用的App Key";
public static final String
CONSUMER_SECRET
= "//填入开发者应用的 App Secret";
设定与 App Key 对应的应用回调地址,此地址可在开发者登陆新浪微盘开发平台后,进
入“我的应用 - 编辑应用信息 - 回调地址”进行设置和查看,如需使用微盘 Token 方式认
证登陆,则该应用回调页不可为空。
private static final String
REDIRECT_URL
= "//填入开发者应用的回调地址";
已经使用或需要配合使用新浪微博 SDK 的应用开发者,如果已经获取用户的微博 Token,
也可以选择微博 Token 方式进行微盘的认证和登录。微博 Token 是一个以”2.00”为开头的
字符串。如需使用微博 Token 直接访问微盘的 API,则这个字段不能为空。
public static final String
WEIBO_ACCESS_TOKEN
= "2.00xbOE8I0Z_........";
在使用新浪微博 Token 直接登录的时候,SDK 本身并不直接在认证阶段检查 Token 字符
串,开发者需保证获取到的微博 Token 的正确性,否则可能会接收到如下异常信息:
VDiskServerException (nginx/1.0.5): 504 Gateway Timeout (50403: Dependent service
failed.)
6.全局声明一个会话,并在您的项目 onCreate()时对其进行初始化:
VDiskAuthSession session;
AppKeyPair appKeyPair = new AppKeyPair(
CONSUMER_KEY
,
CONSUMER_SECRET
);
session = VDiskAuthSession.
getInstance
(this,appKeyPair,AccessType.
APP_FOLDER
);
对session进行创建时,注意到第三个参数AccessType.APP_FOLDER,代表适合普通开发
者使用的沙箱(SandBox)模式,应用在此模式下对用户微盘空间的改动与微盘官方Web站上
的内容完全隔离,仅共享存储空间。用户空间隔离详情参见权限规则与说明:
http://vdisk.weibo.com/developers/index.php?module=api&action=rights
另一种参数为AccessType.VDISK的模式为basic访问模式,应用在此模式下可读写用户
微盘空间的公有数据,仅提供给部分拥有高级权限AppKey的开发者,如需为应用申请basic
模式权限,详情请访问:
http://vdisk.weibo.com/developers/index.php?module=developers&action=space
7.直接使用微盘登录的,需设置回调地址,并执行认证方法:
session.setRedirectUrl(
REDIRECT_URL
);
session.authorize(OAuthActivity.this, OAuthActivity.this);
更新:使用新浪微博 Token 认证:
2014 年 2 月微盘 SDK 版本更新后,集成了新浪微博 Android SDK 的 SSO 认证登录功能:
http://open.weibo.com/wiki/SDK#Android_SDK,开发者可通过调用用户手机上的微博客户端
直接获取微博 Token 进行微盘认证,免去用户输入帐号密码的过程,也降低微盘开发者的开
发负担。
如果您目前已经是集成了微博 SDK 的开发者,您可以继续按照原有流程进行开发,即在
获取微博 Access token 后,执行以下认证方法:
WeiboAccessToken weiboToken = new WeiboAccessToken();
weiboToken.mAccessToken = OAuthActivity.
WEIBO_ACCESS_TOKEN
;
session.enabledAndSetWeiboAccessToken(weiboToken);
session.authorize(OAuthActivity.this, OAuthActivity.this);
如果您目前不是微博SDK 的开发者,又希望快捷地开发使用微博Token 登录微盘的功能,
可以执行如下流程:
(1)在 您 项 目 的 /libs 文 件 夹 下 加 入 weibosdkcore.jar 文件( 位于
VDiskSdk_example/libs),此为微博 Open API 官方 SDK 的闭源接口包;
(2)添加 VDiskSdk_Example 项目中的 com.sina.weibo.sdk.demo 包及其下的类文件,
此包为从 Weibo Open API 官方 SDK 中抽取与认证登录相关的类;
(3)前往新浪微博开放平台 http://open.weibo.com/注册成为微博开发者,进入管理中心
- 我的应用,并创建应用,在 com.sina.weibo.sdk.demo.Constants 类中填写您微博应用的
APP_KEY 和回调地址 REDIRECT_URL。
(4)在新浪微博开放平台 http://open.weibo.com/进入管理中心 - 我的应用 - 应用控
制台-应用信息-应用基本信息编辑,填写 Android 包名、签名及下载地址,其中签名项可使
用微博官方 SDK 提供的签名工具获取:https://github.com/mobileresearch/weibo_android_sdk
项目中的 app_signatures.apk。
(5)代码中执行
WeiboAuth mWeiboAuth;
mWeiboAuth = new WeiboAuth(this,Constants.
APP_KEY
,
Constants.
REDIRECT_URL
, Constants.
SCOPE
);
mSsoHandler = new SsoHandler(OAuthActivity.this, mWeiboAuth);
mSsoHandler.authorize(new AuthListener());
回调类 AuthListener 继承了 WeiboAuthListener,在其回调方法 onComplete()中可获得认
证完成后的微博 Access Token,之后即可按照以下流程进行微盘认证:
WeiboAccessToken weiboToken = new WeiboAccessToken();
weiboToken.mAccessToken = OAuthActivity.
WEIBO_ACCESS_TOKEN
;
session.enabledAndSetWeiboAccessToken(weiboToken);
session.authorize(OAuthActivity.this, OAuthActivity.this);
具体实现可参考 VDiskSdk_example 中 com.vdisk.android.example.OAuthActivity.java
(6)另外,请注意您微博应用的 OAuth2.0 授权有效期,测试级别的授权有效期仅保
证您的用户微博 Token 有效 1 天,具体可在微博开放平台 - 接口管理 - 授权机制查看。
8.判断连接成功后,即可登入并执行您的其他操作
if (session.isLinked()) {
startActivity(new Intent(this, VDiskTestActivity.class));
finish();
}
9.更新:使用 RefreshToken 刷新微盘 AccessToken 机制:
若在初始化阶段,当前用户的微盘 AccessToken 已过期,不需要用户再次进行认证,可
通过当前的 RefreshToken 获取新的微盘 AccessToken:
AccessToken mVDiskAccessToken;
mVDiskAccessToken = VDiskAuthSession.getOAuth2Preference(this,appKeyPair);
mVDiskAccessToken = session.refreshOAuth2AccessToken(
mVDiskAccessToken.mRefreshToken,OAuthActivity.this);
剩余19页未读,继续阅读
资源评论
LauraKuang
- 粉丝: 17
- 资源: 335
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功