一种开放平台代理访问方法及装置
技术领域
[0001] 本发明涉及开放平台应用开发领域,尤其涉及一种开放平台代理访问方法及装置。
背景技术
[0002]为了支持第三方开发满足不同应用需求的第三方应用程序,开放平台都会为第三方应用提供应用程序接ロ(API),通常还会提供API的软件开发包(SDK)下载,供第三方应用快速方便的开发。开发者开发出第三方应用通过调用SDK与开放平台交換数据,为用户提供丰富的终端应用。在使用需要鉴权的开放平台的第三方应用时,用户需要输入用户名和密码,经开放平台验证后,方能正常调用开放平台的功能接ロ。
[0003]例如,某些大型网站的微博系统都提供有一个开放平台,该开放平台为第三方软件开发商提供API接ロ及SDK,通过API提供海量的微博信息、粉丝关系、以及随时随地发生热门话题。移动终端应用开发者可以直接通过API或者使用SDK对微博系统进行读写,挖掘微博系统的新应用。以手机微博客户端应用为例,用户在客户端输入自己在微博注册的用户名和密码登录后,可以随时把画报内容图片分享到微博开放平台上。但该实现方案的缺陷在干,第三方应用需要内嵌SDK,处理登录鉴权逻辑,对于只需要使用开放平台的很小部分功能的第三方应用来说,占用资源过大、开发成本过高。此外,用户需要在第三方应用中输入用户名和密码,可能导致用户名和密码被盗取的安全问题
[0004]开放平台还有ー种无需在第三方应用中登录鉴权的方案,该方案不需要在第三方应用中内嵌SDK,第三方应用通过浏览器给平台发送特定格式的统ー资源定位符(URL) 请求,URL中包含具体数据的參数。如果开放平台需要鉴权登录,用户需要在开放平台返回的网页中输入从开放平台获取的用户名和密码登录来完成请求。以腾讯微博开放平台 (http://open. t. qq. com/)为例,第三方应用可以通过浏览器发送以下特定格式的URL请求来发布微博:
[0005] http://v. t. qq. com/share/share, php title = mytitle&url = myurl&pic = mypic
[0006] 其中mytitle为要发布的微博内容,myurl为内容要加的链接,mypic为需要附帯的图片,第三方应用会根据实际情况填写发布内容、链接和图片。如果处于未登录状态,用户需要在平台返回的页面中输入用户名和密码,然后才能确认发布。
[0007] 当上述第二种实现方案的缺陷在干,由于URL格式与开放平台交互,受URL携带參数格式的限制,无法上传本地文件,參数中指向的文件只能来源于互联网。此外,用户需要在第三方应用中输入用户名和密码,可能导致用户名和密码被盗取的安全问题。
发明内容
[0008] 有鉴于此,本发明的主要目的在于提供一种开放平台代理访问方法及装置,用于解决第三方应用平台内嵌SDK造成资源占用过大,密码安全性不高,及URL格式交互接ロ受參数格式限制无法上传本地文件等技术问题。
[0009] 为达到上述目的,本发明的技术方案是这样实现的:
[0010] 一种开放平台代理访问方法,该方法包括:
[0011]在用户终端中创建官方应用,第三方应用通过官方应用提供的交互接ロ访问开放平台,所述官方应用通过开放平台提供的软件开发包(SDK)实现与开放平台的交互;所述官方应用提供的交互接ロ指官方应用向第三方应用提供的具有统ー资源定位符(URL)格式的协议接ロ。
[0012] 进ー步地,所述第三方应用通过所述官方应用与开放平台进行交互的过程具体为:
[0013] 所述第三方应用通过所述URL格式的协议发送访问所述开放平台的请求给所述官方应用;
[0014] 所述官方应用解析所述第三方应用发送的访问请求,获取请求内容后通过API接 ロ将请求转发给所述开放平台;
[0015] 所述开放平台将请求的响应结果发送给官方应用,官方应用再将响应结果转发给发送请求的第三方应用。
[0016] 所述官方应用提供配置接ロ,通过该配置接ロ可指示所述官方应用向用户终端的操作系统申请所述URL格式的协议,并将所述URL格式的协议与官方应用绑定,第三方应用通过发送具有所述URL格式的协议的访问请求来唤醒所述官方应用。
[0017] 所述官方应用还提供用户的登录认证和鉴权处理功能,在官方应用登录成功后, 代理所述开放平台对第三方应用的访问请求进行本地的认证和鉴权。
[0018] 进ー步地,若所述第三方应用通过所述URL格式的协议向所述官方应用发送的访问请求中包含文件地址參数,则所述官方应用解析所述第三方应用发送的请求后,根据所述文件地址參数从本地读取文件内容,通过API接ロ将文件内容随请求一同发送给所述开放平台。
[0019] 基于上述方法,本发明还提出ー种用户终端,该用户终端中包含:
[0020] 官方应用,用于通过开放平台提供的SDK实现与开放平台的交互;还用于向用户终端操作系统申请具有URL格式的协议,并通过所述URL格式的协议向ー个或多个第三方应用提供交互接ロ;
[0021] 第三方应用,用于向所述官方应用发起与开放平台的交互请求并获取响应結果。
[0022] 所述官方应用提供配置接ロ,通过该配置接ロ可指示所述官方应用向用户终端的操作系统申请所述URL格式的协议,并将所述URL格式的协议与官方应用绑定,第三方应用通过发送具有所述URL格式的协议的访问请求来唤醒所述官方应用。
[0023] 所述官方应用还提供用户的登录认证和鉴权处理功能,在官方应用登录成功后, 代理所述开放平台对第三方应用的访问请求进行本地的认证和鉴权。
[0024] 若所述第三方应用通过所述URL格式的协议向所述官方应用发送的访问请求中包含文件地址參数,则所述官方应用解析所述第三方应用发送的请求后,根据所述文件地址參数从本地读取文件内容,通过API接ロ将文件内容随请求一同发送给所述开放平台。
[0025] 本发明在用户终端中创建官方应用,由官方应用来负责处理与开放平台的数据交换和用户鉴权登录过程,井向位于用户终端的第三方应用提供URL格式的应用程序接ロ,从而降低了第三方应用对用户终端上的系统资源的占用,降低了开发成本,保护用户帐号安全。
[0026] 本发明有益效果为:
[0027] (1)官方应用内嵌SDK,实现开放平台的接ロ代理;
[0028]之前的开放平台都是让第三方应用直接与开放平台服务器沟通,交互数据,每一个第三方应用都需要内嵌SDK,都需要重复处理用户的登录验证等权限控制,通过本发明的官方应用可避免每ー个第三方应用都内嵌SDK,节省了用户终端侧的资源占用;同时,通过官方应用实现单点登录,能够尽可能的保障账号的安全。
[0029] (2)官方应用向用户终端侧的第三方应用提供URL格式应用程序接ロ ;
[0030] 官方应用向用户终端侧提供实现简单的URL格式应用程序接ロ,简化了第三方应用的开发,在用户终端系统内部使用URL格式的应用程序接ロ在业内尚属首次。
附图说明
[0031] 图1为本发明开放平台代理访问方法的步骤流程图;
[0032] 图2为本发明第三方应用、官方应用及开放平台之间的信息交互过程;
[0033] 图3为本发明提出的ー种实现本发明所述方法的用户终端。
具体实施方式
[0034]本发明的基本思想是:在用户终端侧创建官方应用,官方应用中嵌入SDK,官方应用通过SDK中的API与开放平台交換数据,并负责到开放平台的用户鉴权和登录;官方应用向用户终端侧提供简单易用的URL格式应用程序接ロ,第三方应用基于官方应用公开的 URL格式应用程序接ロ与官方应用交互,ー个官方应用可连接多个第三方应用。官方应用作为开放平台与第三方应用之间的中间层,可使多个第三方应用共用ー套SDK,实现用户名和账号的单点登录,节省了用户终端侧的资源占用,降低了开发成本,保障了帐号安全。
[0035] 为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并參照附图,对本发明进一歩详细说明。
[0036] 图1为本发明实现开放平台代理访问方法的步骤流程图,具体步骤包括:
[0037] 步骤100、在用户终端中创建官方应用,官方应用通过开放平台提供的API实现与开放平台的交互;
[0038]开放平台对外公开发布应用程序接ロ(API),用于外部应用调用开放平台提供的服务,通常开放平台会将API函数打包形成软件开发包(SDK)发布给第三方。本发明中,官方应用使用开放平台提供的SDK编程实现与开放平台的数据交互,优选地,在官方应用中提供用户登录开放平台的接ロ,由官方应用提供账号和密码的输入功能,并在第三方应用通过官方应用访问开放平台吋,自动或根据用户的授权完成用户的登录与鉴权过程。在登录成功后,登录账号和密码加密存储,多个第三方应用可共用官方应用登录开放平台。
[0039] 步骤102、官方应用向用户终端操作系统申请具有URL格式的协议来绑定官方应用,并通过所述URL格式的协议向第三方应用提供交互接ロ ;
[0040]标准的互联网访问协议都采用统ー资源定位符(URL)来访问互联网资源,例如超文本传输协议(HTTP)、安全超文本传输协议(HTTPQ、微软媒体服务器协议(mms)等,他们的URL前缀分别为http://,httpS://,mmS://等。本发明官方应用可通过申请特定的URL 格式协议来绑定官方应用,例如,官方应用可向系统申请具有txwb : //形式的URL格式协议来绑定官方应用,任何第三方应用可通过发送txwb://格式的URL访问来喚起官方应用。
[0041] 步骤104、ー个或多个第三方应用通过绑定官方应用的URL格式协议发起访问开放平台的请求,官方应用解析第三方应用发送的请求,获取请求内容后通过API接ロ将请求重新发送给开放平台;
[0042] 待官方应用向用户终端上的操作系统申请好URL格式的协议后,第三方应用就可以调用官方应用了,例如通过如下URL地址来发布微博:
[0043] txwb://snare ? content = mycontent&pic = \var\local\pic. png
[0044] 官方应用接收到第三方应用的请求后,解析第三方应用发送的URL访问请求, 获取URL中的參数值。URL中,“ txwb://”为绑定官方应用的URL格式的协议地址头部; "share"为分配给微博应用的标识符,"content"參数用于指示微博的文字内容,“pic”參数用于指示微博的图片。当然,该URL访问请求可根据具体的应用进行扩展,例如増加相应的參数,各參数以參数分隔符“&”分隔。
[0045] 步骤106、开放平台将请求的响应结果发送给官方应用,官方应用再将响应结果转发给发送请求的第三方应用。
[0046] 以下以微博系统为例说明本发明的技术方案:
[0047] 传统模式下,微博服务端系统作为一个开放平台向第三方应用公开应用程序接ロ (API),并将API函数形成软件开发包(SDK)分发给第三方应用,而本发明中,构建微博系统的厂商,即官方发布ー个官方应用,该官方应用基于该官方发布的SDK编程实现,该微博系统构建商将该官方应用发布给移动终端的生产厂商,由移动终端的生产商将其嵌入到移动终端的操作系统中,或发布到网络上后,由移动终端用户自己下载安装到移动终端中。
[0048]该官方应用作为第三方应用到微博服务端的访问代理,实现ー个或多个第三方应用与微博服务系统的交互。官方应用提供配置接ロ,可通过该配置接ロ告知官方应用向操作系统申请特定的URL格式的协议,并将该特定的URL格式的协议与官方应用绑定,例如, 通过配置接ロ,可申请以“txwb://”为访问地址头部的URL格式的协议作为第三方应用与官方应用之间的应用程序交互接ロ,当第三方应用通过“txwb://”开头的URL地址访问格式向开发平台发起交互请求吋,官方应用自动被唤醒。
[0049] 如图2所示,以微博应用为例,第三方应用与开放平台之间的交互过程包括以下几个步骤:
[0050] 步骤201、第三方应用以特定URL格式协议发起新增微博的请求给官方应用;
[0051] 例如以“txwb://share content = mycontent&pic = \var\local\pic. png^URL 地址向官方应用发起请求,请求在微博系统发布ー篇微博,其中mycontent为发布的微博内容,“\var\local\pic.png”为微博对应的图片,该图片为本地存储的图片,第三方应用并不需要向官方应用发送图片实际内容,由于图片就在本地,因此官方应用可根据路径直接读取。
[0052] 步骤202、官方应用接收到请求后,解析URL格式的访问请求,获取请求内容;
[0053] 官方应用获取请求中的请求内容,若请求内容中如包含媒体文件(例如图片、动画、视频、音频等类型的文件),则官方应用根据URL中所指示的媒体文件地址读取媒体文件内容。
[0054] 步骤203、官方应用将第三方应用通过特定URL格式的协议发送的请求转换为API 形式的访问请求转发给开放平台。
[0055] 以新增微博为例,官方应用通过开放平台的API接ロ将新增微博请求转发给开放平台,通过API接ロ形式可将微博内容及读取的媒体文件内容一同上传到开放平台。
[0056] 步骤204、开放平台接收到官方应用发送的API形式的请求后执行相应的处理并向官方应用反馈处理结果;
[0057] 步骤205、官方应用在将处理结果反馈给第三方应用,该步骤为可选步骤。
[0058]优选地,为了提高用户账号及密码信息的安全性,官方应用还可提供用户登录认证和鉴权的处理功能,在不提供该功能的情况下,需要每个第三方应用自己处理用户登录认证和鉴权过程,而提供该功能后,用户只需要通过官方应用提供的账号密码输入接ロ输入账号密码后,与开放平台进行交互实现用户的登录认证和鉴权处理,而在官方应用登录成功后,即可代理开放平台对第三方应用进行登录认证和鉴权处理。通过该方法减少了用户终端与服务端之间的登录认证次数,实现了单点登录,提高了账号密码的安全性,方便了账号密码的管理。
[0059] 图3为本发明基于上述方法提出的ー种实现本发明所述方法的用户终端300,该终端中包含官方应用301及ー个或多个第三方应用302 ;
[0060] 官方应用301,用于通过开放平台提供的SDK实现与开放平台的交互;还用于向用户终端操作系统申请具有URL格式的协议,并通过所述URL格式的协议向ー个或多个第三方应用提供交互接ロ;
[0061 ] 优选地,所述官方应用301提供配置接ロ,通过该配置接ロ可指示所述官方应用 301向用户终端的操作系统申请所述URL格式的协议,并将所述URL格式的协议与官方应用301绑定,第三方应用302通过发送具有所述URL格式的协议的访问请求来唤醒所述官方应用301。
[0062] 优选地,所述官方应用301还提供用户的登录认证和鉴权处理功能,在官方应用 301登录成功后,代理所述开放平台对第三方应用302的访问请求进行本地的认证和鉴权。
[0063] 第三方应用302,用于向所述官方应用301发起与开放平台的交互请求并获取响应結果。
[0064]若所述第三方应用302通过所述URL格式的协议向所述官方应用301发送的访问请求中包含文件地址參数,则所述官方应用301解析所述第三方应用302发送的请求后,根据所述文件地址參数从本地读取文件内容,通过API接ロ将文件内容随请求一同发送给所述服务端的开放平台。
[0065]由于本发明所提供的用户终端300是用于实现本发明提出的开放平台代理访问方法,因此其包含的功能模块都是为了实现本发明所述方法中的步骤流程而设,为节省篇幅,该装置实施例中与方法实施例中相同及可毫无疑义地推导出的内容此处省略,但这不应理解为对本发明装置实施例的限制。任何实现本发明所述方法的系统、装置和模块都应包含在本发明的保护范围之内。
[0066] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。