腾讯微博客户端的设计与实现—毕业设计论文.doc

上传人:yyf 文档编号:3965552 上传时间:2019-10-11 格式:DOC 页数:40 大小:642.52KB
返回 下载 相关 举报
腾讯微博客户端的设计与实现—毕业设计论文.doc_第1页
第1页 / 共40页
腾讯微博客户端的设计与实现—毕业设计论文.doc_第2页
第2页 / 共40页
腾讯微博客户端的设计与实现—毕业设计论文.doc_第3页
第3页 / 共40页
腾讯微博客户端的设计与实现—毕业设计论文.doc_第4页
第4页 / 共40页
腾讯微博客户端的设计与实现—毕业设计论文.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《腾讯微博客户端的设计与实现—毕业设计论文.doc》由会员分享,可在线阅读,更多相关《腾讯微博客户端的设计与实现—毕业设计论文.doc(40页珍藏版)》请在三一文库上搜索。

1、毕业设计(论文) 题 目: 腾讯微博客户端的设计与实现 专 业: 计算机科学与技术(软件工程) 院(系): 信息工程学院 完成时间: 2012年 05 月 15 日毕业设计(论文)任务书附表一 题目来源:探索学习课题名称腾讯微博客户端的设计与实现设计人姓名指导教师姓名、职称专业计算机科学与技术(软件工程)指导时间/地点 班级一、设计(论文)内容 这次设计的主要内容是开发一个腾讯微博的pc客户端,通过使用腾讯微博开放平台提供的API函数以及开发文档,在VS2010平台下使用MFC具有图形界面的客户端,其主要功能有,通过用户的授权认证,获得用户的相关信息,用户发表新的微博,获得用户的相关微博,并对

2、此微博进行评论,和收藏等。二、设计(论文)的主要技术指标1、 能够正确的通过腾讯微博的认证,正确地获取用户的信息。2、 能够正确显示微博信息,不出现错字和乱码。3、 不仅要获取微博,还能获取微博配备的相关图片。三、进度安排1、熟悉编程语言VS2010的编程平台;2、熟悉腾讯微博API的相关用法;3、编写软件详细设计报告;4、实施开发过程;5、调试软件。四、毕业设计(论文)提交的文档及基本要求1毕业论文一份(包含封皮、目录、中英文摘要、内容及参考文献)2不少于5000汉字的科技翻译资料一份3、毕业论文简介(A4纸12页)(包含题目、专业、年级、姓名、指导教师、毕业论文所做的工作、解决的问题、创新

3、之处等)4毕业设计任务书5开题报告6毕业设计工作中期检查表毕业设计(论文)开题报告附表二 课题名称腾讯微博客户端的设计与实现学生姓名 学号专业班级一、选题的目的意义微博,即微博客(MicroBlog)的简称,是一个基于用户关系的信息分享、传播以及获取平台,用户可以通过WEB、WAP以及各种客户端组件个人社区,以140字左右的文字更新信息,并实现即时分享。微博客草根性更强,且广泛分布在桌面、浏览器、移动终端等多个平台上,有多种商业模式并存,或形成多个垂直细分领域的可能,但无论哪种商业模式,都离不开用户体验的特性和基本功能。在微博客上,140字的限制将平民和莎士比亚拉到了同一水平线上,这一点导致

4、大量原创内容爆发性地被生产出来。二、国内外发展综述Twitter是2006年3月由blogger的创始人威廉姆斯(Evan Williams)推出的,英文原意为小鸟的叽叽喳喳声,用户能用如发手机短信的数百种工具更新信息。Twitter的出现把世人的眼光引入了一个叫微博的小小世界里。2007年中国第一家带有微博色彩的饭否网开张,直到2010年国内微博迎来来春天,微博像雨后春笋般崛起,2011年上半年,我国微博用户数量从6331万增至1.95亿,半年增幅高达208.9%。微博在网民中的普及率从13.8%增至40.2%。从2010年底至今,手机微博在网民中的使用率比例从15.5%上升到34%。由此可

5、见,微博已经与我们的生活紧密的联系起来,越来越多的普通民众能够通过微博发出自己的声音使得被社会关注。在一些大的突发事件或引起全球关注的大事,如果有微博客在场,利用各种手段在微博客上发表出来,其实时性、现场感以及快捷性,甚至超过所有媒体。在我国,网民使用的微博平台主要以新浪微博和腾讯微博为主。 腾讯微博 新浪微博 推特网三、毕业设计(论文)所用的方法系统设计基于C/S架构利用Microsoft的VS2010开发工具,开发出带有图形界面的客户端软件,其中利用腾讯微博提供的API,将微博中的内容抓取到本地客户端,然后将内容显示出来。四、主要参考文献与资料获得情况腾讯微博开放平台:http:/精通mf

6、c程序设计(人民邮电出版社)VC+深入详解(电子工业出版社)五、指导教师审批意见 签字: 年 月 日毕业设计工作中期检查附表三 2012 年4 月2日课题名称腾讯微博客户端的设计与实现姓 名 专业和班级指导教师 一、 毕业设计具体内容、目标和可能遇到的问题具体内容及目标:(1)通过腾讯微博开放平台提供的API完成对用户登录的认证。(2)熟悉腾讯微博提供的API,了解微博的基本开发过程。(3)利用微博API完成对用户相关信息的抓取。可能遇到的问题:(1)对腾讯微博API相关概念的理解以及相关开发的技术的掌握。 (2)对VC+相关控件的使用二、 采取的研究方法、技术路线、实验方案及可行性分析研究方

7、法及技术路线:(1)查阅腾讯微博开放平台提供的帮助文档。(2)通过OAUTH认证的相关文章,理解此认证的原理方法。可行性分析: 虽然微博在国内十分流行,但都是基于网页版的,客户端软件基本没有,而客户端与网页相比,有速度快和界面友好的优势,所以开发一个优秀的客户端具有十分重要的意义。三、 指导教师对学生出勤、文献阅读等方面的评语 签字: 年 月 日毕业设计工作中期检查附表四 2012 年5 月3日课题名称腾讯微博客户端的设计与实现姓 名 专业和班级计算机科学与技术(软件工程)08级4班指导教师 一、阶段性结果实现了客户端获取用户的授权,登陆到用户的账号,获取用户的相关信息。完成了对用户微博信息的

8、抓取,用户可以利用客户端发表新的微博,对微博进行评论、收藏。二、存在的问题 受限于VC+提供的控件,无法提供较好的用户体验。 微博信息显示方式的改变导致变量的冗余,浪费内存。 三、后一步工作设想进一步加强客户端的各个功能,完善各个功能模块。对代码进行优化,减少无用的变量,完善用户界面,使客户端操作更加简单便捷。四、指导教师对学生出勤、论文进展方面的评语 签字: 年 月 日腾讯微博客户端的设计与实现摘要:微博,即微博客(MicroBlog)的简称,是一个基于用户关系的信息分享、传播以及获取平台,用户可以通过WEB、WAP以及各种客户端组建个人社区,以140字左右的文字更新信息,并实现即时分享。微

9、博集成了手机短信、博客与社交网站的优点,将消费者从原来单纯的信息接收者变成了接收和发布信息的完全参与者,从而让社会走进了全民记者时代。此客户端是在VS2010平台下利用微软的MFC(微软基础类库)进行开发的,通过调用腾讯微博开放平台提供的API接口,获得腾讯微博用户的相关信息。通过此客户端,用户可以获得自己的信息,发表新微博,查看自己收听用户的微博,并进行评论与收藏。在界面方面,使用的是MFC提供的控件。通过对控件的功能的完善,可以使用户更加方便的使用客户单完成微博的一些基本操作。 关键词:微博,腾讯,MFC,API接口Design and Implementation of Tencent

10、Microblog Client Abstact: Micro blog (MicroBlog), referred to as microblogging, is a relationship based on user information sharing, dissemination and access to the platform, users can set up individual communities, through the WEB as well as a variety of clients to update the information in about 1

11、40 words of text, and to achieveinstant sharing. The microblogging integrates the advantages of mobile phone text messages, blog and social networking sites, consumers from the original simple information receiver to become a full participant to receive and publish information, so that the society e

12、ntered the era of universal reporter.This client is developed by using Microsofts MFC (Microsoft Foundation Class Library) in VS2010 platform. By calling Tencent microblogging opening platform API interface get Tencent microblogging users information. Through this client, users can access their own

13、information, the new microblogging, check the microblogging of users that they are listening and reviews and collection. At the interface, using MFC controls. Perfect control function allows users to more easily use the customer a single to complete some of the basic operation of microblogging.Keywo

14、rds: MicroBlog , Tencent , MFC , API interface.目录一、绪论11.1引言11.2微博的定义与特点11.2.1微博的定义11.2.2微博的特点21.3国内外研究发展综述21.3.1国外发展综述21.3.2国内发展综述3二、系统开发环境简介52.1系统开发软件环境52.1.1 Visualstudio.NET2010简介52.1.2 腾讯微博开放平台52.2系统开发硬件环境6三、软件需求分析与总体设计73.1系统需求分析73.1.1 功能需求73.1.2 稳定性需求73.1.3 其它需求73.2 微博客户端设计概要83.3 微博客户端认证机制83.3.

15、1 腾讯微博 API OAuth认证介绍83.3.2 OAuth认证机制介绍83.3.3 OAUTH认证机制的运行过程93.4 微博客户端信息抓取流程103.4.1 CWeiboParam参数类及微博相关参数简介113.4.2 信息传递函数SyncRequest()简介113.5 对返回值的解析123.5.1 Json格式简介123.5.2 腾讯微博API对Json格式的解析143.5.3 XML格式简介153.5.4 腾讯微博API对XML格式的解析163.6 字符串格式的转换163.6.1 Unicode字符集与多字节字符集的区别163.6.2 char*、string和CString的转

16、换17四、软件详细设计与实现184.1 相关变量的定义184.2 相关图片的获取和显示194.3 用户登录的设计与实现204.4 用户信息模块的设计与实现214.5 微博相关操作模块的设计与实现234.6 微博发布和评论模块的设计与实现25五、开发总结26致谢27参考文献28郑州大学信息工程学院软件学院2008级毕业设计一、绪论1.1引言 微博,即微博客(MicroBlog)的简称,是一个基于用户关系的信息分享、传播以及获取平台,用户可以通过WEB、WAP以及各种客户端组建个人社区,以140字左右的文字更新信息,并实现即时分享。近3年来,互联网上4种主要的社交媒体(SocialMedia)微博

17、、社交网站、视频分享网站和开放式百科全书从根本上改变了人类的生活。人类正以前所未有的速度和广度传递信息,以计算机为媒介的沟通成为人们互动沟通的重要方式。在这4种媒体中,微博后来居上。国外最早提供微博服务的网站是美国的Twitter,从2006年10月开通至2011年1月在全球已拥有近2亿注册用户,年增长率约1500%,每日访问量约30亿国内的新浪微博和腾讯微博均在开通不到一年半的时间内突破1亿用户。微博集成了手机短信、博客与社交网站的优点,将消费者从原来单纯的信息接收者变成了接收和发布信息的完全参与者,从而让社会走进了全民记者时代。2010年我国最大的50起网络舆情案例中约1/4是微博发起的,

18、微博已成为企业和网民互动沟通的新平台。1.2微博的定义与特点1.2.1微博的定义 国内知名新媒体领域研究学者陈永东在国内率先给出了微博的定义:微博是一种通过关注机制分享简短实时信息的广播式的社交网络平台。其中有五方面的理解:(1) 关注机制:可单向可双向(2) 简短容:通常为140字(3) 实时信息:最新实时信息(4) 广播式:公开的信息,谁都可以浏览(5) 社交网络平台:把微博归为社交网络1.2.2微博的特点 微博客草根性更强,且广泛分布在桌面、浏览器、移动终端等多个平台上,有多种商业模式并存,或形成多个垂直细分领域的可能,但无论哪种商业模式,都离不开用户体验的特性和基本功能。 (1) 信息

19、获取具有很强的自主性、选择性,用户可以根据自己的兴趣偏好,依据对方发布内容的类别与质量,来选择是否“关注”某用户,并可以对所有“关注”的用户群进行分类;(2) 微博宣传的影响力具有很大弹性,与内容质量高度相关。其影响力基于用户现有的被“关注”的数量。用户发布信息的吸引力、新闻性越强,对该用户感兴趣、关注该用户的人数也越多,影响力越大。此外,微博平台本身的认证及推荐亦助于增加被“关注”的数量;(3) 内容短小精悍。微博的内容限定为140字左右,内容简短,不需长篇大论,门槛较低;(4) 信息共享便捷迅速。可以通过各种连接网络的平台,在任何时间、任何地点即时发布信息,其信息发布速度超过传统纸媒及网络

20、媒体。1.3国内外研究发展综述1.3.1国外发展综述2006年3月,博客技术先驱blogger创始人埃文威廉姆斯(EvanWilliams)创建的新兴公司Obvious推出了大微博服务。在最初阶段,这项服务只是用于向好友的手机发送文本信息。Twitter是2006年3月由blogger的创始人威廉姆斯(EvanWilliams)推出的,英文原意为小鸟的叽叽喳喳声,用户能用如发手机短信的数百种工具更新信息。Twitter的出现把世人的眼光引入了一个叫微博的小小世界里。Twitter是一个社交网络及微博客服务。用户可以经由SMS、即时通信、电邮、Twitter网站或Twitter客户端软件(如Tw

21、itterrific)输入最多140字的文字更新,Twitter被Alexa网页流量统计评定为最受欢迎的50个网络应用之一。在2007年5月,国际间计算总共有111个类似Twitter的网站。然而,最值得注意的仍是Twitter,它于2007年在得克萨斯州奥斯汀举办的南非西南会议赢得了部落格类的网站奖。Twitter的主要竞争对手是Plurk和Jaiku。后来微博客的新服务特色持续诞生,例如Plurk有时间轴可以观看整合了视讯和照片的分享,Identi、Pownce整合了微薄客加上档案分享和事件邀请,由Digg的创始人KevinRose和另外三位开发者共同发展。1.3.2国内发展综述 从200

22、7年中国第一家带有微博色彩的饭否网开张,到2009年,微博这个全新的名词,以摧枯拉朽的姿态扫荡世界,打败奥巴马、甲流等等名词,成为全世界最流行的词汇。伴随而来的,是一场微博世界人气的争夺战,大批量的名人图1-1 新浪微博被各大网站招揽,各路名人也以微博为平台,在网络世界里聚集人气,同样,新的传播工具也造就了无数的草根英雄,从默默无闻到新的话语传播者,往往只在一夜之间、寥寥数语。2009年7月中旬开始,国内大批老牌微博产品(饭否、腾讯滔滔等)停止运营,一些新产品开始进入人们的视野,像开放的叽歪,6月份开放的Follow5,7月份开放的9911,8月份开放的新浪微博,其中Follow5在2009年

23、7月19日孙楠大连演唱会上的亮相,是国内第一次将微博引入大型演艺活动,与twitter当年的发展颇有几分神似。2010年国内微博迎来来春天,微博像雨后春笋般崛起。四大门户网站均开设微博。根据相关公开数据,截至2010年1月份,该产品在全球已经拥有7500万注册用户。中国互联网络信息中心(CNNIC)今日发布第28次中国互联网络发展状况统计报告,报告显示,2011年上半年,中国微博用户从6331万增至1.95亿,增长约2倍。该报告指出,中国互联网的普及率增至36.2%,较2010年增加1.9%。2011年上半年,我国微博用户数量从6331万增至1.95亿,半年增幅高达208.9%。微博在网民中的

24、普及率从13.8%增至40.2%。从2010年底至今,手机微博在网民中的使用率比例从15.5%上升到34%。图1-2腾讯微博至今,新浪微博用户数超过1亿,得益于抢占了先机,而且在整体的战略执行上也比较彻底到位,所以获得了现在的地位。仅仅两年时间,新浪微博就为新浪生下了一个价值几十亿美金的金蛋。而另一个微博巨头:腾讯微博,也呈现出发展迅猛的姿态,腾讯拥有近5亿的QQ注册用户,2亿左右的活跃用户。这部分人群很容易受潮流趋势的影响,开通腾讯微博。通过腾讯微博能够与QQ好友和腾讯微博上的其他用户行行信息的分享。另外其作为重要的推广渠道。企业用户通过注册腾讯官方微博,得到认证后,能够迅速的扩大企业的知名

25、度。个人用户通过腾讯微博,也能再微博平台进行个人的推广。目前,很多的社会事件揭露都来自于微博平台。高校教育平台也随之建立,如腾讯微博校园上的高校新闻哥微博体系的发展,推动了中国教育事业信息化发展的步伐。二、系统开发环境简介2.1系统开发软件环境2.1.1 Visualstudio.NET2010简介Visual Studio是微软公司出品的一款大型应用软件,从最初的VisualStudio97开始就成为编程的重要工具。VisualStudio.NET是一套完整的开发工具,用于生成ASP Web应用程序、XML Web services、桌面应用程序和移动应用程序。VisualBasic.NET

26、、Visual C+.NET、VisualC#.NET和VisualJ#.NET全都使用相同的集成开发环境(IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了.NET Framework的功能,此框架提供对简化ASP Web应用程序和XML Web services开发的关键技术的访问。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 201O同时带来了NETFramework4.0,MicrosoftVisualStudio2010CTP(Commu

27、nityTechnologyPreview-CTP)并且支持开发面向Windows7的应用程序。除了Microsoft SQLServer,它还支持IBM DB2和Oracle数据库。Visual Studio 2010的新增功能集中在以下几个方面: (1) 支持 Windows Azure,微软云计算架构迈入重要里程碑。 (2) 助力移动与嵌入式装置开发,三屏一云商机无限。 (3) 实践当前最热门的 Agile/Scrum 开发方法,强化团队竞争力。 (4) 升级的软件测试功能及工具,为软件质量严格把关。 (5) 搭配 Windows 7,Silverlight 4 与 Office,发挥多

28、核并行运算威力,创建美感与效能并重的新一代软件。 (6) 支持最新C+标准,增强IDE,切实提高程序员开发效率。2.1.2 腾讯微博开放平台 腾讯微博开放平台,是基于腾讯微博系统,为广大开发者和用户提供的开放数据分享与传播平台。广大开发者和用户登录平台后,就可以使用平台提供的开 放API接口,创建应用从微博系统获取信息,或将新的信息传播到整个微博系统中,丰富多样的API接口和应用,加上你的智慧,将创造出无穷的应用和乐趣! (1) 平台介绍 在微博开放平台能获取到的资源及优势 (2) 应用开发说明 说明如何成为一个开发者并创建应用 (3) 应用审核流程 审核应用的来源字段能获得的好处,以及如何审

29、核 (4) 开发者协议 在此查看腾讯微博开放平台开发者服务协议2.2系统开发硬件环境硬件配置如下:操作系统: Windows 7操作系统CPU: Intel(R)Core(TM)Duo CPU T6600 2.20GHz内存: 5GB显卡: NVIDIA Geforce GT 130M三、软件需求分析与总体设计3.1系统需求分析3.1.1 功能需求 微博作为现在人们生活中必不可少的工具,通过微博这个媒介,发布身边的新鲜事,并且能对某一热门话题进行评论,必要的时候还可收藏自己喜欢的文字。可以说文博极大地丰富了我们的生活。所以说,一个微博客户端系统,一定要包含如下的基本功能,来发挥微博的作用: (

30、1) 用户登录自己的账户并查看自己的个人信息。 通过OAUTH认证方式,用户可以在不告知客户端自己的账号和密码的情况下,安全的通过客户端登陆腾讯微博,并且获取自己的相关信息。 (2) 用户查看自己的新微博,获取好友的最新动态。 用户可以查看自己关注对象的微博,并能够通过随时刷新获得最新的微博动态。并且,用户不仅能看到微博的文字内容,还能看到微博的相关配图。 (3) 用户发表新微博,告诉好友自己身边的新鲜事。 用户可以发表新的微博,随时更新自己的状态。 (4) 用户对好友的微博进行评论,并且对自己喜爱的微博进行收藏。 用户可以对看到的微博进行评论,发表自己的意见,当用户看到感兴趣的微博时,还收藏

31、此微博。3.1.2 稳定性需求 (1) 客户端能够长时间的正确运行,如果客户端出错,客户端会有相应的出错信息,能够使用户明白在哪里出错了,该怎么办。 (2) 减少无用的代码,减少因此带来的错误,并使客户端能够尽可能快的对数据进行处理3.1.3 其它需求 (1) 为保证客户端的正常运行,应保证计算机能够一直连接互联网以获取信息。 (2) 使用图形化界面,可使用鼠标或键盘作为标准输入设备。3.2 微博客户端设计概要 微博客户端运行主要分为两个阶段,第一阶段:认证阶段,第二阶段:信息获取阶段。用户首先通过客户端打开的腾讯微博授权界面获得授权码,然后将获得授权码交付给客户端从而完成认证阶段。客户端通过

32、获得认证码作为用户授权的依据,从而通过腾讯微博提供的API获得用户相关的微博信息。授权页面用户认证 输入账户相关信息阶段返回授权码 腾讯微博服务器客户端信息 通过授权信息获取 阶段 返回用户微博的相关信息图3-1客户端运行流程 3.3 微博客户端认证机制3.3.1 腾讯微博 API OAuth认证介绍腾讯微博开放平台,是基于腾讯微博系统,为广大开发者和用户提供的开放数据分享与传播平台。 广大开发者和用户登录平台后,就可以使用平台提供的开放API接口,创建应用从微博系统获取信息,或将新的信息传播到整个微博系统中,丰富多样的API接口和应用,加上您的智慧,将创造出无穷的应用和乐趣。 腾讯微博API

33、采用OAuth协议为第三方提供接入服务,遵循RFC-5849规范。有关OAuth认证的详细说明,请阅读官方OAuth规范。各种语言的OAuth 客户端可以在Google-OAuth项目里找到。 腾讯微博API使用OAuth 1.0a版本。 3.3.2 OAuth认证机制介绍 OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自

34、身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP、JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAUTH是简易的。目前互联网很多服务如Open API,很多大公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权的标准。OAUTH认证具有以下特点: (1) 简单:不管是OAUTH服务提供者还是应用开发者,都很容易于理解与使用。 (2) 安全:没有涉及到用户密钥等信息,更安全更灵活。 (3) 开放:任何服务提供商都可以实现OAUTH,任何软件开

35、发商都可以使用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服务提供商将

36、引导用户授权。该过程可能会提示用户,你想将哪些受保护的资源授权给该应用。此步可能会返回授权的Request Token也可能不返回。如Yahoo OAUTH就不会返回任何信息给使用者。 (5) Request Token 授权后,使用者将向Access Token URL发起请求,将上步授权的Request Token换取成Access Token。请求的参数见上图,这个比第一步A多了一个参数就是Request Token。 (6) OAUTH服务提供商同意使用者的请求,并向其颁发Access Token与对应的密钥,并返回给使用者。 (7) 使用者以后就可以使用上步返回的Access Tok

37、en访问用户授权的资源。 从上面的步骤可以看出,用户始终没有将其用户名与密码等信息提供给使用者(第三方软件),从而更安全。用OAUTH实现背景一节中的典型案例:当服务B(打印服务)要访问用户的服务A(图片服务)时,通过OAUTH机制,服务B向服务A请求未经用户授权的Request Token后,服务A将引导用户在服务A的网站上登录,并询问用户是否将图片服务授权给服务B。用户同意后,服务B就可以访问用户在服务A上的图片服务。整个过程服务B没有有触及到用户在服务A的帐号信息。图3-2腾讯微博OAUTH授权认证过程3.4 微博客户端信息抓取流程 腾讯微博的信息抓取是利用腾讯公司提供的API接口,添加

38、上相应的参数,把信息传递给腾讯公司服务器,腾讯公司再把所要求的信息传递给本地,从而完成微博的信息传递过程。腾讯微博服务器含有授权信息及请求信息的相关参数:oParam 请求函数SyncRequest() 信息返回给客户端图3-3 SyncRequest()函数3.4.1 CWeiboParam参数类及微博相关参数简介 在每次向腾讯微博服务器请求用户数据时,都要都要将用户想要进行的操作以参数的形式传递给腾讯微博服务器,然后腾讯服务器将用户请求返回给客户端。在腾讯公司提供的API中,参数类型是CWeiboParam类,通过该类提供的函数AddParam(const char* pKey, cons

39、t char* pValue),将参数名和参数值传递到其类对象中。并且该类还提供Clear()函数,用来清除该类对象里的所有参数,以方便此类对象可以重复利用。 由于腾讯微博API采用的是OAUTH签权认证方式,所以客户端在每次请求用户数据时,都要将用户登录时留下的Tokenkey,Tokensecret授权信息及开发者的身份信息Appkey,Appsecret传递进去,以获得获取用户信息的权限。 除此之外,客户端还要将用户进行相应操作所需要的相关信息添加到该参数类中。例如,若用户想要获取一条微博数据,就要将该微博的身份标示ID已经想要服务器返回的信息格式format传到CWeiboParam参

40、数类对象中CWeiboParam& oParam; /定义类对象oParam.AddParam(Appkey, strAppkey.c_str();oParam.AddParam(Appsecret, strAppsecret.c_str();oParam.AddParam(Tokenkey,strTokenkey.c_str();oParam.AddParam(Tokensecret,strTokensecret.c_str(); /传递授权信息oParams.AddParam(format,json);oParams.AddParam(id,Wbid);/传递将要获取的微博相关信息3.4.

41、2 信息传递函数SyncRequest()简介 SyncRequest()函数是腾讯微博API函数核心,通过这个函数,客户端将用户将要进行的操作,以及此操作需要的相关参数传递给腾讯微博服务器,并且把从服务器传递回来的相关数据存储到某一参数中。SyncRequest()函数的定义如下:SyncRequest(const char* pReqUrl, EHttpMethod eHttpMethod, CWeiboParam oQWBlogParam, char* &pResultData,int &nLen);下面就来对此函数中的参数进行说明: (1) 其中pReqUrl参数的传递内容是一个URL

42、链接,该URL链接对应的含义就是用户想要进行的操作,通过这个URL链接,客户端就会告诉腾讯微博服务器用户想要进行什么样的操作。例如URLhttp:/ (2) SyncRequest()函数中第二个参数eHttpMethod是一个枚举类型的参数其定义如下:enum EHttpMethodEHttpMethod_Get,EHttpMethod_Post,;其中EHttpMethod_Get代表的是获取信息,是要告诉服务器此次操作是想从服务器中获取相关的信息,比如说获取微博,用户信息等;而EHttpMethod_Post代表的是向服务器推送信息,告诉服务器我这里有信息需要让服务器更新,比如说用户发新

43、微博,对某一微博进行评论等,都需要用此参数。 (4) oQWBlogParam就是CWeiboParam参数类对象,用来传递与URL相对应的操作所需要的参数信息。 (5) pResultData和nLen的作用是存储从服务器返回的信息,以方便将来对信息进行解析。 (6) SyncRequest()的返回值是一个枚举类型的变量,通过SyncRequest()函数的返回值,可以知道客户端的请求是否成功,或者如果失败了,是是失败在什么地方。例如:若返回值为HTTPRESULT_OK,表明返回成功,若返HTTPRESULT_ERROR,则表明HTTP请求的数据错误导致客户端操作失败。 以上就是SyncRequest()函数的所有参数的含义,通过此函数并添加上相应的参数,客户端就能从腾讯服务器

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1