分享模块功能开发攻略20

上传人:lis****211 文档编号:121997636 上传时间:2022-07-19 格式:DOCX 页数:10 大小:118.63KB
收藏 版权申诉 举报 下载
分享模块功能开发攻略20_第1页
第1页 / 共10页
分享模块功能开发攻略20_第2页
第2页 / 共10页
分享模块功能开发攻略20_第3页
第3页 / 共10页
资源描述:

《分享模块功能开发攻略20》由会员分享,可在线阅读,更多相关《分享模块功能开发攻略20(10页珍藏版)》请在装配图网上搜索。

1、微博分享功能模块开发攻略前言1. 开发该模块准备什么。2. 这些东西该怎么准备。3. 了解 sdk 接口。(1)咱们能获得什么。(2)需要咱们提供什么。(以上仅仅调用接口的一般方法论)4. 咱们需要完成什么功能(需求),完成这些功能需要什么接口,跳到第3点。=分割=1. 开发该模块准备什么与怎么准备答:我们需要登录该公司的网站,寻找开放平台一项,下载相关的文档资料,通常有Sdk和 docs 一起绑定下载。同时,我们要需要准备app key和app secret,这两个可以认为是服务 器给第三应用方发放的钥匙,可以打开它们的门户,然后才能进行访问(应用权限机制)。拿到app key和app se

2、cret的方法一般都是通过登录它们的网站(一般在网站的最底咅&-开 放平台)。2. 了解协议答:由于第三方访问存在安全和接口不统一,所以需要某种规则或者协议进行数据访问,即 通过协议来屏蔽平台的差异,在微博分享开发当中主要的协议有:xauth和oauth协议1)OAuth协议:0AUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。 与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用 户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授 权,因此OAUTH是安全的。其访问的流程是:1. 获职未授权的 Request Token

3、(temporary credentials:2. 谙求用户授权Request Token3. 使用援权后的Request Token换取Ahme Tokenftoken credentialEj4. 使用Access Token访问或修改赍保护资源图1 oauth流程图其中13步使用https方式,第4步使用http方式。Temporary creden ti als :临时凭证Token credentitals :令牌凭证其中,第三步需要跳转到资源提供方的页面输入用户和密码进行授权认证,然后将access token传到第三方(调用方)的软件。2) xAuth协议:xAuth认证是OAu

4、th的简化版,xAuth允许第三方直接用用户的用户名与 密码获取access_token,是适合桌面及移动客户端的一种验证方式,由于安全方面的原 因,目前仅对符合条件客户端应用开放。(符合条件的客户端要与资源提供方签订协议, 在互信的基础上提供访问权限,这个协议也可以达到问责的效果)。3了解接口答:资源提供方一般都有Sdk开发包,下来sdk包根据协议或者文档了解就ok。4这里以腾讯微薄开发分享功能为例(因为新浪的已经在咱们的项目中得到应用,原理是一 样的,其中vancl用的是xauth协议,银泰目前用的是oauth协议):第一步:到腾讯微博的网站上的底部,寻找点击“开放平台” 一项。腾讯网I网

5、站导航I认证服务I开放平台I意见反馈I繁體中文Copyright 1998 - 2011 Tencent. All Rights Reserved图2 开放平台点击进入开放平台页面,先用自己的QQ账号登陆然后点击左下角的“我是开发者”,然后 注册各种关于应用的信息(如图3),然后提交生成授权的app key和app secret。首页应用开发瓷源iWeibo欢迎你!天使漫歩退出创建应用*应用名称:*应用网址:*类型:应用简介:*应用图标:请先填写一下蚩料,创建徽傅应用,获取鑫讯徽APP KEAPP SECRET.图3注册信息页面图4注册信息完成页面完成应用信息之后就会跳到图4页面,点击右下角的

6、“查看详情”,就会跳到图5页面。皆讯徽傅开放平台A开发天便溼歩修改应用信息A:应用信息应用名称:天使漫歩应用网址:http:/hi.baidu.conV286177943/home应用官方锻博:|汕旳门引1_即口类型:手机应用应用简介:App Key: c41ce3e8e7bl4762a480fea4c6983f:10App Secret: 7067ccf4234e0ebc3d04cf7f387da5b2图5 app key和app secret显示页面通过以上步骤,咱们就拿到了 app key和app secret,然后就可以应用到咱们的程序当中了。第二步:点击标题栏的“资源”项(图6)所示

7、,看到里面有资料的介绍,平台说明,api说明,sdk 下载等,这里找到sdk下载,再找到android sdk(有些只提供java sdk,其实是一样的),然 后下载。第三步:下载完sdk,根据sdk带的demo找到几个关键类,这里提供一个一般的思路,即根据oauth 协议的交互流程来走代码。走一遍下来基本上可以摸清了。几个关键类:1. 两个操作类,用来做逻辑处理,这里腾讯提供OAuthClient和T_API等。2. 一个实体类(bean),用来载参数的,这里腾讯提供OAuth。首先 使用之前通过注册得到的app key和app secret初始化OAuth。设置app key、app se

8、cret 和回调地址。关键代码:7cc13 .jayDAutew OAutn (appKeyt appSecret.f callback;参数说明:callback 为回调地址,这里设置为:callback=microblog:/MyWeibo4Tencent;Octivity android: nair.e=11 吳丫廉乞上jb?4!Tri匸ezi七 且ndroid:丄且口nchMode = slnglsTopM 对应于data里面的scheme和host(注意scheme必须是小写?至少腾讯的应用里面这样的)第二,通过OAuthClient请求未授权的request token。关键代码:

9、第一歩,获取未授枫的reqnes七tokenTccLs . 2nyQAiith=7ccL3 . rayiQAuthCJIsnt.二已questTokenfTccLs . jnyQALith;第三,从OAuth中取得授权的request token。关键代码:第二歩,获取授枫的Request Token String oajt?i_tckerL = TccLs .ayClAuth. cetOa jt?i_tok已n(;第四,用request token发送到服务器,换取access token0 (这一步要跳到资源提供方的登 录页面输入用户信息登录授权,然后根据之前设定的回调地址返回到相应的ac

10、tivity中,然后 自行提取验证码(即oauth_verifier)。关键代码:第三歩”获取用户授枫的Access tokenString uil = http: /open七 qq com/cgi-bin/a.uthoiize? auth_token=rr + auth_token; Uri uii = Uii.卩日工占凸(口工丄; staxtActivity (new Intent (Intent f uri) ;以上代码即可跳到微博官方的授权页面,授权完毕跳转到对应的activity,提取oauth_verifier 赋值给oauthoUri jri = this . g已t二nt已二

11、七( . g已;if(uri P mill 提取验证码f aauth_tokentl传过去的是同一个request token|String oa jthVerif i已二 = jri . g-已七Qu已二yPa工an已t已二已二二:E二已二; String oau已n = jri . g已七Qu已ryPa工m已ter (,rcauth_tckenn);FF取得已ccess token initOAutA(oa jt?iVerif 1 已二( cathTok已;以下赋值给myOAuth/ /从額舷j返回来的验证码和授枫的token7ccL3 . jaytJALith. 3et0aut?i_Ye

12、rf er(oaut?iVerf;ZccL3.2ayCuth. 3et0autn_tck已n(匚:已n ;|第五,使用OAuthClient的accessToken方法取得access token secret)。然后将用户授权 (access token和access token secret),可以保存起来(实现绑定功能)。关键代码:取得用户授枫访间枫限Tools口th=Tools口thClient accessToken (Tools 胡他口th);/取出访I可权限access token (访可令牌和access token secret (访间金牌密码)?并保存Tools a匸cbs

13、sToian=Too 1 s 2nyd口七2i getOauth_t ken (;Tools a匸cbssToienSecret=T o 1 s .my他口七2i getOauth_t ken_searet ();第六步,利用前5步得到的access token和access token secret对该用户的微博进行各种 操作,这里使用T_API类的add方法进行微博更新。更多的操作类,请看api说明文档。 关键代码:weibo.add_pic(oauth, format, content, clientip, picPath);weibo是T_API的实例,如果觉得类名不爽(的确很不爽),

14、可以自己简单封装一层。注意事项:1. 回调地址务必填写正确,以及xml的配置。2. Access Token和Access Token Secret永远不会过期,直到用户撤销应用授权或腾讯回 收您的app访问权限才会失效(绑定微博功能)。3. 如果事先已经拿到Access Token和Access Token Secret,可以跳过第二步、第三步、 第四步而直接初始化OAuth,然后进行微博的相关操作。附腾讯微博sdk类的简单说明图类摘要Fav API数据收藏相关APIFriends API关系链相关APIHt API话题相关APIInfo API数据更新相关APIOther API其他相关A

15、HPrivate API私信相关AHReqaestAPIRequest Remote Server APISearch API搜索相关APIStatuses API时间线相关APIT API微博相关AHTag APITrends API热度,趋势相关APIUser API帐户相关AHBean 图类摘要Account个人账户实体类DataMessage微博内容OAothOAuthU证参数实体类QParameterOAuth参数构建类Util 图类摘要Base64EncoderOAutbCUeotOAuth认证授权以及签名相关QHttpCliEuitHttp请求接口StriD呂常用方法函数QHtt

16、pUilQStrUtilsWeiBoConst附新浪基于xauth协议的分享开发步骤 第一步:使用官方提供的app key和app secret初始化环境。 关键代码:曲 Sparam appKey* 从紘傳提供商获取的悲g.* Sparam appSeczct* 从紘博提供商获取的恶強恋感* Sparann usernaurie* 用户名比 Sparam password* 用户密码*public MyWeibo4Sina(String appKeyf String appSecret) System set Property (rrweibo4 j oauth cons e rKe yrr

17、 f 且 ppKey;Syst 已 iol se tProperty (rrwe ibo 4 j auth co ns 口itje rSecret r app Secret); weibo=new Pf皂ibci ( ;|第二步:取得access token和access token secret,新浪已经将两个参数封装为一个bean 类,即卩 AccessToken.关键代码:/登录取得access token 和 access token secret,里已经封装为accessToken accessToken = weibo crEtKAArthAccEssTokEn (use工nair

18、.Ep password, rrclient_authrr);/获取账号名称一User user = weibo showlJsE工(accEssTokEn getUserld () + rr rr);sinaNickNair.e = use工.cretNair.e ();/登录戚功石直接关闭weibo endSession();第三步:使用获得的accessToken发送微博内容,accessToken已经组合到Weibo类里面。 关键代码:*发送文字和图片时使用该函数乂 Sparam bitmap* 图片出 Sparam content* 文字信息比 throws We ibo Excep

19、tin* 异常w throws Exception* 异常*/private void send (Bitmap bitmap f String content throws WeibciEstueipticjiip Exception Imaqeltem ima ore Item = new Iraaqelteni (rrpicrr f Bitmap 2 Bytes (bitmap);/分享新浪徴博we Ibca upl o adS tatus (URLE ncode 工.encode (co ntentf rrUT F-81 f image 11 era); 其中Imageitem是新浪提

20、供的封装类,使用之前需要将bitmap转换为byte。Ps:如果事先已经登录并拿到accessToken,可以直接使用accessToken初始化Weibo实例,然 后直接调用api把信息发布到微博上。关键代码:*执行議傅分享操作时使用的构造函数* Sparam appKey* 从紘傳提供商获取的恶如* param appSecrct* 从紘傅提供商获取的霰鹘爲磁* param token* 登录議博时返回的授权标志类* param tokenSecrct* 登录傅客时返回的授tXsecret*/public MyWeibo4Sina(String appKey,String appSecre

21、t,String token,String tokenSecretSystem setProparty (rrwei 1口4 j 口曰.口tJh cons M.erKeyrr f appKey);Systern setPraperty (rrweibo4 j aut-h consumezSeczet,rf appSecret);this 已匚匚皂ssTcik已口AccE33loken (token, tokenSecret);weibonew Weibo();weibo setToken(accessToken);至此,已经完成新浪微博分享功能开发工作。注意事项:1、5yt 5?t Prope

22、rty (二 bo4 j亠 consjjr.e rKey111y);syatejr. set Property (wtibo4 5 . oaut h - consur.e rseer e t,r f appseertt);以上关键代码表示初始化环境变量,而且此初始化必须在new weibo()之前,否则会报错。2、xauth协议和oauth协议的app key和app secret不能混用的。以上代码请参考1.0的demo示例编者后语:通过新浪微博(基于Xauth)和腾讯微博(基于OAuth)的分享开发步骤来看,前者的开发 轻松多了,而且登录授权页面可以在程序员的控制范围内,步骤也不是很繁琐,

23、但遗憾的是, 基于Xauth协议的访问仅仅对一些企业级的开发开发,并要签订相关的协议。无疑,基于 OAuth协议是安全的,而且腾讯的工作人员就为什么不提供Xauth协议的访问作出的解释也 是出于安全方面的考虑,协议本身就决定了其访问方式的安全了。最后建议大伙在开发微博 分享功能的时候,尽量优先选择Xauth协议吧(当然,前提是提供方支持Xauth协议)。这 里附带了 sina和tencent的demo,仅提供参考。分割经过对各大平台的分享机制进行分析总结,特此提供11版本的代码参考,这里已经将OAuth 的请求细节完全屏蔽掉了,大伙只要按照demo的示例传入参数,就可以开发出满意的分享 功能。提供的demo有:1. 基于Xauth协议新浪微博分享Demo2. 基于Oauth 1.0协议新浪微博分享Demo3. 基于Oauth 1.0协议腾讯微博分享Demo4. 基于Oauth 2.0协议人人网分享Demo5. 基于Oauth 1.0协议开心网分享Demo示例说明不提供了,所有的细节几乎已经封装完毕,只需要按照要求传入参数即可,祝您好运。文档更新说明版本作者变更说明1.0.0万宏运创建1.1.0万宏运增补

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!