腾讯微博客户端的设计与实现毕业设计说明书(含源程序)(4)

2020-02-21 02:58

郑州大学信息工程学院软件学院2008级毕业设计 三、软件需求分析与总体设计

3.1系统需求分析

3.1.1 功能需求

微博作为现在人们生活中必不可少的工具,通过微博这个媒介,发布身边

的新鲜事,并且能对某一热门话题进行评论,必要的时候还可收藏自己喜欢的文字。可以说文博极大地丰富了我们的生活。所以说,一个微博客户端系统,一定要包含如下的基本功能,来发挥微博的作用: (1) 用户登录自己的账户并查看自己的个人信息。

通过OAUTH认证方式,用户可以在不告知客户端自己的账号和密码的情况下,安全的通过客户端登陆腾讯微博,并且获取自己的相关信息。 (2) 用户查看自己的新微博,获取好友的最新动态。

用户可以查看自己关注对象的微博,并能够通过随时刷新获得最新的微博动态。并且,用户不仅能看到微博的文字内容,还能看到微博的相关配图。 (3) 用户发表新微博,告诉好友自己身边的新鲜事。 用户可以发表新的微博,随时更新自己的状态。

(4) 用户对好友的微博进行评论,并且对自己喜爱的微博进行收藏。 用户可以对看到的微博进行评论,发表自己的意见,当用户看到感兴趣的微博时,还收藏此微博。

3.1.2 稳定性需求

(1) 客户端能够长时间的正确运行,如果客户端出错,客户端会有相应的出错信息,能够使用户明白在哪里出错了,该怎么办。

(2) 减少无用的代码,减少因此带来的错误,并使客户端能够尽可能快的对数据进行处理

3.1.3 其它需求

(1) 为保证客户端的正常运行,应保证计算机能够一直连接互联网以获取信息。

(2) 使用图形化界面,可使用鼠标或键盘作为标准输入设备。

7

郑州大学信息工程学院软件学院2008级毕业设计 3.2 微博客户端设计概要

微博客户端运行主要分为两个阶段,第一阶段:认证阶段,第二阶段:信息

获取阶段。用户首先通过客户端打开的腾讯微博授权界面获得授权码,然后将获得授权码交付给客户端从而完成认证阶段。客户端通过获得认证码作为用户授权的依据,从而通过腾讯微博提供的API获得用户相关的微博信息。

认证 输入账户相关信息 用户 阶段

授权页面 返回授权码 信息 通过授权信息 客户端 腾讯微博服务获取 器 阶段 返回用户微博的相关信息

图3-1客户端运行流程

3.3 微博客户端认证机制

3.3.1 腾讯微博 API OAuth认证介绍

腾讯微博开放平台,是基于腾讯微博系统,为广大开发者和用户提供的开放数据分享与传播平台。 广大开发者和用户登录平台后,就可以使用平台提供的开放API接口,创建应用从微博系统获取信息,或将新的信息传播到整个微博系统中,丰富多样的API接口和应用,加上您的智慧,将创造出无穷的应用和乐趣。 腾讯微博API采用OAuth协议为第三方提供接入服务,遵循[RFC-5849]规范。有关OAuth认证的详细说明,请阅读官方OAuth规范。各种语言的OAuth 客户端可以在Google-OAuth项目里找到。 腾讯微博API使用OAuth 1.0a版本。

8

郑州大学信息工程学院软件学院2008级毕业设计 3.3.2 OAuth认证机制介绍

OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与

以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP、JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAUTH是简易的。目前互联网很多服务如Open API,很多大公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权的标准。OAUTH认证具有以下特点:

(1) 简单:不管是OAUTH服务提供者还是应用开发者,都很容易于理解与使用。

(2) 安全:没有涉及到用户密钥等信息,更安全更灵活。

(3) 开放:任何服务提供商都可以实现OAUTH,任何软件开发商都可以使用OAUTH。

3.3.3 OAUTH认证机制的运行过程

(1) 使用者(第三方软件)向OAUTH服务提供商请求未授权的Request

Token。向Request Token URL发起请求,请求需要带上的参数见上图。 (2) OAUTH服务提供商同意使用者的请求,并向其颁发未经用户授权的oauth_token与对应的oauth_token_secret,并返回给使用者。

(3) 使用者向OAUTH服务提供商请求用户授权的Request Token。向User Authorization URL发起请求,请求带上上步拿到的未授权的token与其密钥。

(4) OAUTH服务提供商将引导用户授权。该过程可能会提示用户,你想将哪些受保护的资源授权给该应用。此步可能会返回授权的Request Token也可能不返回。如Yahoo OAUTH就不会返回任何信息给使用者。

(5) Request Token 授权后,使用者将向Access Token URL发起请求,将上步授权的Request Token换取成Access Token。请求的参数见上图,这个比第一步A多了一个参数就是Request Token。

(6) OAUTH服务提供商同意使用者的请求,并向其颁发Access Token与

9

郑州大学信息工程学院软件学院2008级毕业设计 对应的密钥,并返回给使用者。

(7) 使用者以后就可以使用上步返回的Access Token访问用户授权的资源。

从上面的步骤可以看出,用户始终没有将其用户名与密码等信息提供给使用者(第三方软件),从而更安全。用OAUTH实现背景一节中的典型案例:当服务B(打印服务)要访问用户的服务A(图片服务)时,通过OAUTH机制,服务B向服务A请求未经用户授权的Request Token后,服务A将引导用户在服务A的网站上登录,并询问用户是否将图片服务授权给服务B。用户同意后,服务B就可以访问用户在服务A上的图片服务。整个过程服务B没有有触及到用户在服务A的帐号信息。

图3-2腾讯微博OAUTH授权认证过程

3.4 微博客户端信息抓取流程

腾讯微博的信息抓取是利用腾讯公司提供的API接口,添加上相应的参数,

把信息传递给腾讯公司服务器,腾讯公司再把所要求的信息传递给本地,从而完成微博的信息传递过程。

10

郑州大学信息工程学院软件学院2008级毕业设计

含有授权信息及请求 请求函数SyncRequest() 信息的相关参数:腾讯微博服务器 信息返回给客户端 oParam 图3-3 SyncRequest()函数

3.4.1 CWeiboParam参数类及微博相关参数简介

在每次向腾讯微博服务器请求用户数据时,都要都要将用户想要进行的操

作以参数的形式传递给腾讯微博服务器,然后腾讯服务器将用户请求返回给客户端。在腾讯公司提供的API中,参数类型是CWeiboParam类,通过该类提供的函数AddParam(const char* pKey, const char* pValue),将参数名和参数值传递到其类对象中。并且该类还提供Clear()函数,用来清除该类对象里的所有参数,以方便此类对象可以重复利用。

由于腾讯微博API采用的是OAUTH签权认证方式,所以客户端在每次请求用户数据时,都要将用户登录时留下的Tokenkey,Tokensecret授权信息及开发者的身份信息Appkey,Appsecret传递进去,以获得获取用户信息的权限。

除此之外,客户端还要将用户进行相应操作所需要的相关信息添加到该参

数类中。例如,若用户想要获取一条微博数据,就要将该微博的身份标示ID已经想要服务器返回的信息格式format传到CWeiboParam参数类对象中 CWeiboParam& oParam; //定义类对象 oParam.AddParam(\oParam.AddParam(\oParam.AddParam(\oParam.AddParam(\ //传递授权信息

oParams.AddParam(\oParams.AddParam(\//传递将要获取的微博相关信息

3.4.2 信息传递函数SyncRequest()简介

SyncRequest()函数是腾讯微博API函数核心,通过这个函数,客户端将

11


腾讯微博客户端的设计与实现毕业设计说明书(含源程序)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:德系车和日系车比较及汽车发动机 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: