CN117389762A - 应用程序的接口调用方法、装置、计算机设备和存储介质 - Google Patents
应用程序的接口调用方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117389762A CN117389762A CN202311355687.6A CN202311355687A CN117389762A CN 117389762 A CN117389762 A CN 117389762A CN 202311355687 A CN202311355687 A CN 202311355687A CN 117389762 A CN117389762 A CN 117389762A
- Authority
- CN
- China
- Prior art keywords
- authority
- update
- information
- interface
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 100
- 238000003860 storage Methods 0.000 title claims abstract description 31
- 238000013475 authorization Methods 0.000 claims abstract description 55
- 238000004590 computer program Methods 0.000 claims abstract description 24
- 238000001514 detection method Methods 0.000 claims description 33
- 238000012795 verification Methods 0.000 claims description 32
- 238000011161 development Methods 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 24
- 230000001960 triggered effect Effects 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 13
- 238000007726 management method Methods 0.000 description 22
- 239000000284 extract Substances 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 9
- 238000013507 mapping Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
Abstract
本申请涉及一种应用程序的接口调用方法、装置、计算机设备、存储介质和计算机程序产品。所述方法可应用于云技术领域、地图领域等,所述方法包括:获取应用程序在操作系统中的权限更新信息;基于所述权限更新信息对所述应用程序的权限列表进行系统权限更新,得到更新后权限列表;所述更新后权限列表存储了所述应用程序的接口和所述接口所需的系统权限;当接收到针对所述应用程序的业务接口的调用请求时,基于所述更新后权限列表确定所述业务接口所需的目标系统权限;在基于所述目标系统权限获得目标对象的授权之后,调用所述业务接口关联的系统接口,以实现所述业务接口对应的业务逻辑。采用本方法能够提高接口调用的成功率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用程序的接口调用方法、装置、计算机设备和存储介质。
背景技术
当运行于操作系统中的应用程序需要执行某些特定任务时,它会通过调用特定的应用程序接口(API)来访问操作系统某些资源或执行某些操作。访问操作系统某些资源或执行某些操作之前,需要基于应用程序接口的权限信息进行权限校验或权限申请,并在获得相应授权后才能完成对应用程序接口的调用。
现有方案中,应用程序接口的权限信息是在程序开发阶段由开发人员结合所要匹配的操作系统以硬编码的方式进行编写;当操作系统发生更新时,基于应用程序接口原先的权限信息进行权限校验或权限申请,可能会出现校验故障或申请故障,进而导致无法对应用程序接口进行正常调用。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高接口调用的成功率的应用程序的接口调用方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种应用程序的接口调用方法。所述方法包括:
获取应用程序在操作系统中的权限更新信息;
基于所述权限更新信息对所述应用程序的权限列表进行系统权限更新,得到更新后权限列表;所述更新后权限列表存储了所述应用程序的接口和所述接口所需的系统权限;
当接收到针对所述应用程序的业务接口的调用请求时,基于所述更新后权限列表确定所述业务接口所需的目标系统权限;
在基于所述目标系统权限获得目标对象的授权之后,调用所述业务接口关联的系统接口,以实现所述业务接口对应的业务逻辑。
第二方面,本申请还提供了一种应用程序的接口调用装置。所述装置包括:
权限更新信息获取模块,用于获取应用程序在操作系统中的权限更新信息;
系统权限更新模块,用于基于所述权限更新信息对所述应用程序的权限列表进行系统权限更新,得到更新后权限列表;所述更新后权限列表存储了所述应用程序的接口和所述接口所需的系统权限;
目标系统权限确定模块,用于当接收到针对所述应用程序的业务接口的调用请求时,基于所述更新后权限列表确定所述业务接口所需的目标系统权限;
系统接口调用模块,用于在基于所述目标系统权限获得目标对象的授权之后,调用所述业务接口关联的系统接口,以实现所述业务接口对应的业务逻辑。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取应用程序在操作系统中的权限更新信息;
基于所述权限更新信息对所述应用程序的权限列表进行系统权限更新,得到更新后权限列表;所述更新后权限列表存储了所述应用程序的接口和所述接口所需的系统权限;
当接收到针对所述应用程序的业务接口的调用请求时,基于所述更新后权限列表确定所述业务接口所需的目标系统权限;
在基于所述目标系统权限获得目标对象的授权之后,调用所述业务接口关联的系统接口,以实现所述业务接口对应的业务逻辑。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取应用程序在操作系统中的权限更新信息;
基于所述权限更新信息对所述应用程序的权限列表进行系统权限更新,得到更新后权限列表;所述更新后权限列表存储了所述应用程序的接口和所述接口所需的系统权限;
当接收到针对所述应用程序的业务接口的调用请求时,基于所述更新后权限列表确定所述业务接口所需的目标系统权限;
在基于所述目标系统权限获得目标对象的授权之后,调用所述业务接口关联的系统接口,以实现所述业务接口对应的业务逻辑。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取应用程序在操作系统中的权限更新信息;
基于所述权限更新信息对所述应用程序的权限列表进行系统权限更新,得到更新后权限列表;所述更新后权限列表存储了所述应用程序的接口和所述接口所需的系统权限;
当接收到针对所述应用程序的业务接口的调用请求时,基于所述更新后权限列表确定所述业务接口所需的目标系统权限;
在基于所述目标系统权限获得目标对象的授权之后,调用所述业务接口关联的系统接口,以实现所述业务接口对应的业务逻辑。
上述应用程序的接口调用方法、装置、计算机设备、存储介质和计算机程序产品,预先设置权限列表来存储应用程序在操作系统的权限列表,在操作系统发生版本更新时,通过获取应用程序在操作系统中的权限更新信息;基于权限更新信息对应用程序的权限列表进行系统权限更新,得到更新后权限列表;更新后权限列表存储了应用程序的接口和接口所需的系统权限,从而在接收到针对应用程序的业务接口的调用请求时,可直接基于更新后权限列表确定业务接口所需的目标系统权限,并能够正确地基于目标系统权限获得目标对象的授权,在获得授权后调用业务接口关联的系统接口,以实现业务接口对应的业务逻辑,实现了业务接口的正常调用。
附图说明
图1为一个实施例中应用程序的接口调用方法的应用环境图;
图2为一个实施例中应用程序的接口调用方法的流程示意图;
图3为一个实施例中权限列表示意图;
图4为一个实施例中权限更新列表示意图;
图5为另一个实施例中应用程序的接口调用方法的流程示意图;
图6为一个实施例中应用程序的接口调用系统架构示意图;
图7为另一个实施例中应用程序的接口调用方法的流程示意图;
图8为一个实施例中获取权限更新信息步骤的流程示意图;
图9为另一个实施例中获取权限更新信息步骤的流程示意图;
图10为一个实施例中服务器更新权限文件步骤的流程示意图;
图11为一个实施例中获取权限描述信息步骤的流程示意图;
图12为一个实施例中部分开发信息页面的示意图;
图13为一个实施例中应用程序的接口调用装置的结构框图;
图14为另一个实施例中应用程序的接口调用装置的结构框图;
图15为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的应用程序的接口调用方法,可以应用于云技术领域,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
本申请实施例提供的应用程序的接口调用方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。该应用程序的接口调用可以由终端102和服务器104协同执行,在一个实施例中,终端102可以从服务器104获取应用程序在操作系统中的权限更新信息;基于所述权限更新信息对所述应用程序的权限列表进行系统权限更新,得到更新后权限列表;所述更新后权限列表存储了所述应用程序的接口和所述接口所需的系统权限;当接收到针对所述应用程序的业务接口的调用请求时,基于所述更新后权限列表确定所述业务接口所需的目标系统权限;在基于所述目标系统权限获得目标对象的授权之后,调用所述业务接口关联的系统接口,以实现所述业务接口对应的业务逻辑。
其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端102以及服务器104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一个实施例中,如图2所示,提供了一种应用程序的接口调用方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
S202,获取应用程序在操作系统中的权限更新信息。
其中,应用程序是设计来执行特定任务或功能的软件,如文本处理、图像编辑或游戏,操作系统(Operating System,OS)是管理计算机硬件与软件资源的程序,为应用程序提供了一个运行环境,并为其访问硬件资源(如CPU、内存、磁盘存储、网络等)提供了接口;应用程序通过系统调用(System Calls)与操作系统交互。系统调用是应用程序请求操作系统执行某些任务(如文件操作、网络访问等)的方式;操作系统通常包含安全机制,例如用户账户、文件权限、进程隔离等,以保护系统和数据的安全,应用程序必须遵循操作系统的安全规则,例如,应用程序可能需要请求操作系统的权限才能访问摄像头或读取文件。
操作系统具体可以是桌面或笔记电脑的操作系统、移动设备的操作系统、服务器的操作系统、嵌入式设备的操作系统等。
权限更新信息是指在操作系统发生更新时,应用程序在新版本的操作系统上的权限变更内容,当操作系统更新后,其安全策略、API(Application Programming Interface,应用程序编程接口)或权限模型可能会发生改变,从而导致原先的应用程序需要进行适配或调整权限请求方式以正常工作。
权限更新信息可以包括新增的权限、权限细化、废弃的权限、权限的默认行为变化、新的限制或规则等,其中新增的权限是指新版本的操作系统可能引入了新的权限要求,这意味着应用程序可能需要请求这些新权限以继续访问某些功能或资源;权限细化是指随着操作系统的更新,某些广泛的权限可能被拆分成更具体的权限,例如,一个总的“存储权限”可能被分解为“读取存储”和“写入存储”;废弃的权限是指随着操作系统的更新,某些权限可能不再使用,应用程序需要知道这些变化,避免请求不再存在的权限;权限的默认行为变化是指随着操作系统的更新,某些权限的默认行为发生了变换,例如某些权限可能从默认自动授权变为需要用户明确同意;新的限制或规则是指新版本的操作系统可能对某些权限使用施加了新的限制,如访问频率限制或后台运行的限制。
具体的,服务器可以维护权限文件,不同的权限文件存储有不同操作系统版本下不同应用程序的权限信息,这些权限信息可以是开发人员手动输入的,也可以是通过自动化脚本从操作系统的开发文档或API文档中获取的,终端可以在触发了应用程序的更新事件时,从服务器获取应用程序在当前的操作系统中的权限更新信息。
其中,更新事件可以包括第一更新事件和被动更新事件,第一更新事件是触发终端主动获取权限更新信息的事件,具体可以是操作系统版本更新事件、应用程序启动事件、定时事件中的任意一个,操作系统版本更新事件是操作系统版本发生变换时所触发的事件,应用程序启动事件是应用程序启动或重启时触发的事件,定时事件是基于预定的时间间隔或特定的时间点触发的事件;第二更新事件是触发终端被动获取权限更新信息的事件,具体可以是更新提示消息事件,更新提示消息事件具体可以是终端接收到来自服务器的特定消息或提示时触发的事件。
需要说明的是,本申请实施例中操作系统是为当前的应用程序提供运行环境的、且发生了版本更新的操作系统。
S204,基于权限更新信息对应用程序的权限列表进行系统权限更新,得到更新后权限列表。
其中,权限列表是一个数据结构,用于存储和管理应用程序的接口、应用程序的接口所对应的操作系统的系统接口、以及系统接口所需的系统权限之间的映射关系,可以理解的是,更新后权限列表也存储了应用程序的接口、应用程序的接口所对应的操作系统的系统接口、以及系统接口所需的系统权限之间的映射关系,系统接口所需的系统权限也即其所映射的应用程序的接口所需的系统权限。
应用程序的接口包括应用程序自身(也可以称为母应用或宿主应用)的接口和内置于应用程序的子应用程序的接口,母应用是主要的应用程序,用户通常直接从操作系统的应用商店下载并安装到他们的设备上,例如,一个电子邮件客户端、一个网页浏览器或一个社交媒体应用都可以被认为是母应用;子应用是嵌套在母应用内部的,它不是独立的应用,而是作为母应用的一部分存在,子应用可以提供额外的功能或特性,通常是为了增强母应用的功能,具体可以是插件或扩展、小程序等,插件或扩展比如可以是浏览器的扩展插件,为浏览器提供额外功能,小程序比如可以是社交应用的小程序,在社交应用内部运行,为用户提供各种服务,如地图、购物、支付、游戏等。
如图3所示为一个实施例中的权限列表示意图,该权限列表是某个应用程序A针对某个操作系统版本的权限列表的至少一部分,该权限列表中展示了应用/子应用标识、应用程序接口标识、系统接口标识和所需系统权限之间的映射关系,其中应用/子应用标识用于唯一地标识一个应用或其内嵌的子应用,应用程序接口标识用于唯一标识应用程序或其内嵌子应用中的一个接口,系统接口标识用于标识应用程序接口背后所需要调用的操作系统级别的接口,所需系统权限是指为了成功调用上述系统接口,所需要的操作系统级别的权限,子应用1和子应用2是应用程序A的内置应用。
具体地,终端在得到权限更新信息之后,将权限更新信息与权限列表进行对比,得到对比结果,当对比结果表征某个系统接口所需的系统权限存在新增权限、删除权限或变更权限中的至少一项时,按照对比结果对权限列表进行更新,具体针对新增权限可将其添加至权限列表中,针对删除权限可将其从权限列表中移出,针对变更权限可将其替换至权限列表中,从而得到更新后权限列表。
如图4所示为一个实施例中的权限列表示意图,该权限列表是在操作系统更新后,基于应用程序A在新版本的操作系统的权限更新信息,对图3所示的权限列表进行系统权限更新所得到的权限更新列表,结合图4和图3可以看到,“捕获照片”的系统权限除了需要相机访问权限外,还新增了一个文件存储权限,“获取位置”的系统权限新增了一个网络状态检查权限,“获取天气”的系统权限新增了一个定时更新权限,“播放音频”的系统权限未发生变化,这样的更新可能是由于新版本的操作系统更加重视用户的隐私和数据安全,因此加强了对权限的管理。
S206,当接收到针对应用程序的业务接口的调用请求时,基于更新后权限列表确定业务接口所需的目标系统权限。
其中,业务接口是指为实现某种特定业务逻辑或功能而设计的应用程序的接口,例如可以是图3中的“捕获照片”接口、“获取位置”接口、“播放音频”接口、“获取天气”接口等,也可以是“支付”接口、“订单管理”接口、“身份验证”接口、“搜索”接口等。
具体的,当终端接收到针对应用程序的某个业务接口的调用请求时,基于待接口调用请求确定该业务接口的接口标识,并基于该接口标识从存储的权限更新列表中查找接口标识所对应的系统接口标识,并将权限更新列表中系统接口标识所对应的所需系统权限确定为该业务接口所需的目标系统权限。
例如,终端接收到针对应用程序A的“捕获照片”接口的调用请求,则确定该业务接口的接口标识为“捕获照片”,在图4所示的权限更新列表中查找“捕获照片”所对应的条目,从图4中可以看到,“捕获照片”对应的系统接口标识为“相机API”,“相机API”对应的所需系统权限为“相机访问权限”和“文件存储权限”,从而将“相机访问权限”和“文件存储权限”确定为调用“捕获照片”接口所需的目标系统权限。
S208,在基于目标系统权限获得目标对象的授权之后,调用业务接口关联的系统接口,以实现业务接口对应的业务逻辑。
具体的,终端在确定出调用应用程序的业务接口所需的目标系统权限之后,确定应用程序当前是否已经获得目标对象的关于目标系统权限的授权,并在获得目标对象的授权之后,利用相关的接口调用函数或者接口调用方法,调用步骤S206中所确定的系统接口标识所对应的系统接口,系统接口成功调用后,会返回相应的数据,终端对所返回的数据按照业务接口所对应的业务逻辑对其及进行处理,从而得到业务接口数据处理结果。
例如,接口调用请求所要调用的业务接口为应用程序A的“捕获照片”接口,确定出业务接口所需的目标系统权限为“相机访问权限”和“文件存储权限”,出业务接口所关联的系统接口为“相机API”,则终端确定应用程序A的“捕获照片”接口是否已经获得了“相机访问权限”和“文件存储权限”的用户授权,若已获得二者的授权,则调用系统接口“相机API”以启动相机应用捕获照片,并将捕获的照片通过应用程序A进一步处理,得到处理后照片,例如裁剪、压缩或应用滤镜,并将处理后照片通过应用程序A的界面进行显示。
上述应用程序的接口调用方法中,终端通过预先设置权限列表来存储应用程序在操作系统的权限列表,在操作系统发生版本更新时,通过获取应用程序在操作系统中的权限更新信息;基于权限更新信息对应用程序的权限列表进行系统权限更新,得到更新后权限列表;更新后权限列表存储了应用程序的接口和接口所需的系统权限,从而在接收到针对应用程序的业务接口的调用请求时,可直接基于更新后权限列表确定业务接口所需的目标系统权限,并能够正确地基于目标系统权限获得目标对象的授权,在获得授权后调用业务接口关联的系统接口,以实现业务接口对应的业务逻辑,实现了业务接口的正常调用。
在一个实施例中,终端可以主动从服务器获取应用程序在操作系统的权限更新信息,该过程具体包括以下步骤:当触发应用程序的第一更新事件时,获取操作系统的版本信息;基于版本信息和应用程序的版本信息生成权限信息更新请求;将权限信息更新请求发送至服务器;接收服务器响应于权限信息更新请求返回的权限更新信息。
其中,第一更新事件是触发终端主动获取权限更新信息的事件,具体可以是操作系统版本更新事件、应用程序启动事件、定时事件中的任意一个。
操作系统的版本信息标识了操作系统的特定发布或迭代,具体包括系统标识、系统标识的版本标识、发布日期等,系统标识用于标识操作系统类型,例如系统标识为操作系统A;系统标识的版本标识用于标识操作系统的版本,例如操作系统A10,“10”是版本标识;发布日期是指操作系统的版本的发布或最后更新的日期,例如操作系统A10Version XX03表示该版本是在20XX年3月发布的。
应用程序的版本信息标识了应用程序的特定发布或迭代,具体包括程序标识、程序标识的版本标识、发布日期等,程序标识用于识别和区分应用程序,例如,应用程序A、应用程序B等都是应用程序的标识,程序标识的版本标识用于表示应用程序版本的数字或字母组合,例如,“2.1.3”中,“2”是主版本号,“1”是次版本号,而“3”是补丁号、发布日期是指应用程序版本的发布或最后更新的日期。
具体的,当应用程序启动时、或在检测到操作系统的版本发生更新时,或在到达更新时间点时,即确定触发了应用程序启动事件、或触发了操作系统版本更新事件、或触发了定时事件,终端可以检测当前所运行的操作系统版本和当前应用程序版本,得到操作系统的版本信息和应用程序的版本信息,并根据所获取的操作系统的版本信息和应用程序的版本信息生成权限信息更新请求,该权限信息更新请求中携带有操作系统的版本信息和应用程序的版本信息,并将该权限信息更新请求发送至服务器,服务器在接收到权限信息更新请求后,基于权限信息更新请求中所携带的操作系统的版本信息和应用程序的版本信息确定权限数据库中查找与操作系统的版本信息和应用程序的版本信息匹配的权限更新信息,并将查找到的权限更新信息返回给终端,终端接收服务器返回的权限更新信息。
上述实施例中,当触发应用程序的第一更新事件时,终端通过获取操作系统的版本信息;基于版本信息和应用程序的版本信息生成权限信息更新请求;将权限信息更新请求发送至服务器;接收服务器响应于权限信息更新请求返回的权限更新信息,从而可以实现终端主动从服务器获取权限更新信息,进而可以使得应用程序在操作系统中的权限始终是最新的,避免了后续在接口调用时可能发生的错误。
在一个实施例中,终端接收服务器响应于权限信息更新请求返回的权限更新信息的过程包括以下步骤:接收服务器响应于权限更新请求返回的更新文件地址;基于更新文件地址下载权限更新文件;在权限更新文件的完整性校验通过后,从权限更新文件中提取权限更新信息。
其中,更新文件地址是服务器上存储权限更新文件的位置或URI(统一资源标识符),例如更新文件地址为https://example.com/updates/version2/update.zip。
具体的,服务器在接收到权限更新请求之后,基于权限信息更新请求中所携带的操作系统的版本信息和应用程序的版本信息确定在权限文件中查找与操作系统的版本信息和应用程序的版本信息匹配的权限更新信息,并将查找到的权限更新信息所在的权限更新文件的更新文件地址返回给终端,终端接收服务器返回的更新文件地址,并基于所接收的更新文件地址从服务器下载权限更新文件,在下载完成后,计算所下载的权限更新文件的哈希值,并将所计算出的哈希值与从服务器接收到的哈希值进行比较,得到比较结果,该比较结果即为完整性校验结果,在完整性校验结果表征完整性校验通过时,从所下载的权限更新文件中提取权限更新信息。
在一个实施例中,终端所下载的权限更新文件为加密后的文件,终端在对所下载的权限更新文件完整性校验通过后,对所下载的权限更新文件进行解密,得到解密后的权限更新文件,并从解密后的权限更新文件中提取出权限更新信息。
上述实施例中,终端通过接收服务器响应于权限更新请求返回的更新文件地址,基于更新文件地址下载权限更新文件,并在权限更新文件的完整性校验通过后,从权限更新文件中提取权限更新信息,从而可以确保文件没有在传输过程中被损坏或篡改,从而确保权限数据的完整性和安全性。
在一个实施例中,终端可以被动从服务器获取应用程序在操作系统的权限更新信息,该过程具体包括以下步骤:当接收到服务器下发的权限更新提示消息时,从权限更新提示消息中提取更新文件地址;基于更新文件地址下载权限更新文件;从权限更新文件中进行信息提取,得到应用程序在操作系统的权限更新信息。
具体的,服务器可以维护权限文件,不同的权限文件存储有不同操作系统版本下不同应用程序的权限信息,这些权限信息可以是开发人员手动输入的,也可以是通过自动化脚本从操作系统的开发文档或API文档中获取的,当服务器检测到权限数据库中存在发生了权限信息更新的权限更新文件时,确定权限更新文件所对应的目标终端,并向目标终端发送权限更新提示消息,终端当接收到服务器下发的权限更新提示消息时,对权限更新提示消息进行解析,得到解析结果,并从解析结果中提取出更新文件地址,并基于所提取的更新文件地址从服务器下载权限更新文件,在下载完成后,计算所下载的权限更新文件的哈希值,并将所计算出的哈希值与从服务器接收到的哈希值进行比较,得到比较结果,该比较结果即为完整性校验结果,在完整性校验结果表征完整性校验通过时,从所下载的权限更新文件中提取出权限更新信息。其中,目标终端的数量为至少一个,终端属于目标终端。
在一个实施例中,终端所下载的权限更新文件为加密后的文件,终端在对所下载的权限更新文件完整性校验通过后,对所下载的权限更新文件进行解密,得到解密后的权限更新文件,并从解密后的权限更新文件中提取出权限更新信息。
上述实施例中,终端服务器可以在适当的时机主动推送权限更新,终端当接收到服务器下发的权限更新提示消息时,从权限更新提示消息中提取更新文件地址;基于更新文件地址下载权限更新文件;从权限更新文件中进行信息提取,得到应用程序在操作系统的权限更新信息,从而终端可以及时得到权限更新信息,进而可以及时使得应用程序在操作系统中的权限始终是最新的,避免了后续在接口调用时可能发生的错误。
在一个实施例中,服务器确定权限更新文件所对应的目标终端的过程具体可以是,基于权限更新文件对应的程序标识确定候选终端,基于权限更新文件对应的系统标识从候选终端中选取目标终端,从而所确定的目标终端是运行了系统标识所对应操作系统类型、以及程序标识所对应应用程序的终端,该目标终端的操作系统可能已经进行了版本更新,也可能尚未进行版本更新。
具体的,服务器可以维护一个终端列表,该终端列表中记录有每个终端上安装的应用程序信息和操作系统信息,当有权限更新文件可用时,首先根据权限更新文件对应的程序标识从终端列表中确定哪些终端安装有程序标识所对应的应用程序,得到一个候选终端列表,接着基于权限更新文件对应的系统标识,确定候选终端列表中哪些终端正在运行与系统标识匹配的操作系统,得到目标终端,进而可以将权限更新提示消息以推送通知或系统消息等方式发送至各个目标终端。
在一个实施例中,终端在接收到服务器发送的权限更新提示消息之后,还可以响应于服务器下发的权限更新提示消息,对操作系统进行更新检测,终端从权限更新提示消息中提取更新文件地址的过程包括以下步骤:当检测到操作系统发生更新时,从权限更新提示消息中提取更新文件地址。
具体的,终端当接收到服务器下发的权限更新提示消息时,可以对所接收的权限更新提示消息进行解析,得到最新的操作系统的版本信息,并获取终端本地所运行操作系统的版本信息,并将解析得到的操作系统的版本信息与本地的操作系统的版本信息进行对比,得到对比结果,若对比结果表征本地的所运行的操作系统为最新版本,则确定终端的操作系统已经发生了更新,则从解析的权限更新提示消息中提取更新文件地址,以便后续基于所提取的更新文件地址获取权限更新信息。
上述实施例中,终端在接收到服务器发送的权限更新提示消息之后,还可以响应于服务器下发的权限更新提示消息,对操作系统进行更新检测,当检测到操作系统发生更新时,从权限更新提示消息中提取更新文件地址,通过仅在操作系统实际更新时下载权限更新文件,可以避免不必要的下载和资源消耗,并实现了操作系统更新后,应用程序的权限都是最新的,从而避免因权限问题导致的接口调用的错误。
在一个实施例中,终端在接收到服务器发送的权限更新提示消息之后,还可以响应于服务器下发的权限更新提示消息,对操作系统进行更新检测,终端从权限更新提示消息中提取更新文件地址的过程包括以下步骤:当检测到操作系统未发生更新时,展示系统更新提示消息;当检测到对系统更新提示消息的系统更新触发操作时,从更新提示消息中提取更新文件地址。
具体的,终端当接收到服务器下发的权限更新提示消息时,可以对所接收的权限更新提示消息进行解析,得到最新的操作系统的版本信息,并获取终端本地所运行操作系统的版本信息,并将解析得到的操作系统的版本信息与本地的操作系统的版本信息进行对比,得到对比结果,若对比结果表征本地的所运行的操作系统不是最新版本,则生成系统更新提示消息,并使用操作系统的通知服务来展示系统更新提示消息,用户可以与所展示的系统更新提示消息进行交互,例如在展示系统更新提示消息是会展示有“立即更新”按钮,检测到对“立即更新”按钮触发操作时,开始对操作系统进行版本更新,同时从更新提示消息中提取更新文件地址,以便后续基于所提取的更新文件地址获取权限更新信息。
上述实施例中,终端在接收到服务器发送的权限更新提示消息之后,还可以响应于服务器下发的权限更新提示消息,对操作系统进行更新检测,当检测到操作系统未发生更新时,展示系统更新提示消息,引导用户更新操作系统,确保用户设备上运行的是最新、最安全的操作系统版本,当检测到对系统更新提示消息的系统更新触发操作时,从更新提示消息中提取更新文件地址,通过仅在操作系统实际更新时下载权限更新文件,可以避免不必要的下载和资源消耗,并实现了操作系统更新后,应用程序的权限都是最新的,从而避免因权限问题导致的接口调用的错误。
在一个实施例中,当接收到服务器下发的权限更新提示消息时,从权限更新提示消息中提取更新文件地址之前,上述应用程序的接口调用方法还包括以下步骤:当服务器触发第二更新事件时,获取操作系统的开发信息页面;从开发信息页面中提取应用程序的接口所关联系统接口的权限描述信息;基于权限描述信息对存储的权限文件进行系统权限更新,得到权限更新文件;基于权限更新文件的更新文件地址生成更新提示消息;将更新提示消息发送至权限更新文件关联的目标终端。
其中,第二更新事件是触发服务器对存储的权限文件进行系统权限更新的事件,具体可以是定时事件、更新请求事件、更新指令事件中的任意一个,定时事件是基于预定的时间间隔或特定的时间点触发的事件;更新请求事件具体可以是接收到来自终端的权限信息更新请求事件,更新指令事件可以是接收到管理端所发送的更新指令事件,比如开发或运维人员可以通过管理端向服务器发送更新指令。
开发信息页面是指操作系统的开发者所提供的开发文档页面,开发信息页面中详细描述了操作系统的各种接口、功能、模块和相关的开发和使用指南,这些页面通常包括如何使用操作系统的特定功能、API的详细参数和返回值、可能出现的错误和怎样处理它们、所需的权限以及可能的性能和安全问题等。
具体的,当服务器触发或检测到触发了第二更新事件时,基于第二更新事件确定待进行更新检测的操作系统,例如若第二更新事件为定时事件,则可以将服务器所维护的各权限文件对应的操作系统确定为待进行更新检测的操作系统;若第二更新事件为更新请求事件,则将权限信息更新请求所对应的操作系统确定为待进行更新检测的操作系统;若第二更新事件为更新指令事件,则将更新指令所对应的操作系统确定为待进行更新检测的操作系统,针对待进行更新检测的操作系统,获取的该操作系统的信息地址,基于所获取的信息地址访问该操作系统的开发信息页面,并对开发信息页面进行解析,得到页面内容,从页面内容中提取出关于操作系统的各系统接口的权限描述信息,并从各系统接口的权限描述信息中提取出应用程序的接口所关联系统接口的权限描述信息,针对该操作系统和应用程序所对应的权限文件,将所提取出的应用程序的接口所关联系统接口的权限描述信息,与该权限文件中所存储的应用程序的接口所关联系统接口的权限描述信息进行对比,得到对比结果,当对比结果表征二者不一致时,基于所提取出的应用程序的接口所关联系统接口的权限描述信息对该权限文件中的应用程序的接口所关联系统接口的权限描述信息进行系统权限更新,得到权限更新文件,并获取该权限更新文件的更新文件地址,基于更新文件地址生成更新提示消息,并基于权限更新文件所对应的操作系统和应用程序确定目标终端,将所生成的更新提示消息发送给目标终端,以使目标终端基于更新提示消息获取应用程序在操作系统中的权限更新信息。
上述实施例中,服务器在触发第二更新事件时,通过获取操作系统的开发信息页面;从开发信息页面中提取应用程序的接口所关联系统接口的权限描述信息;基于权限描述信息对存储的权限文件进行系统权限更新,得到权限更新文件,从而可以实时检测操作系统的变化,并据此更新权限文件,确保了服务器所存储的权限文件中的应用程序的权限始终与最新的系统需求保持同步,并基于权限更新文件的更新文件地址生成更新提示消息,将更新提示消息发送至权限更新文件关联的目标终端,从而在权限文件更新后及时通知到目标终端,以使目标终端可以及时得到权限更新信息,进而可以及时使得应用程序在操作系统中的权限始终是最新的,避免了后续在接口调用时可能发生的错误。
在一个实施例中,权限文件中包括应用程序的接口所关联系统接口的系统接口标识;服务器从开发信息页面中提取应用程序的接口所关联系统接口的权限描述信息的过程包括以下步骤:从权限文件中提取出应用程序的接口所关联的系统接口的系统接口标识;基于系统接口标识从开发信息页面中提取目标页面元素;从目标页面元素的预设位置处,提取出系统接口标识对应系统接口的权限描述信息。
其中,系统接口标识可以是系统接口名称,目标页面元素是指开发信息页面中系统接口的相关描述信息所处的部分,具体可以是对应段落部分。
具体的,当服务器触发或检测到触发了第二更新事件时,基于第二更新事件确定待进行更新检测的操作系统,还可以基于第二更新事件确定需要待进行系统权限更新的应用程序,例如若第二更新事件为定时事件,则可以将服务器所维护的各权限文件对应的应用程序确定为待进行系统权限更新的应用程序;若第二更新事件为更新请求事件,则将权限信息更新请求所对应的应用程序确定为待进行系统权限更新的应用程序;若第二更新事件为更新指令事件,则将更新指令所对应的应用程序确定为待进行系统权限更新的应用程序,在确定出待进行更新检测的操作系统和待进行系统权限更新的应用程序之后,获取待进行更新检测的操作系统和待进行系统权限更新的应用程序所对应的权限文件,并从所获取的权限文件中提取出待进行系统权限更新的应用程序的接口所关联的系统接口的系统接口标识,并以系统接口标识为关键字在开发信息页面中进行查询,定位到目标页面元素在开发信息页面中的元素节点位置,并按照该元素节点位置从开发信息页面中提取出目标页面元素,并根据预设关键字在目标页面元素中定位到第一预设位置和第二预设位置,并根据第一预设位置,从目标页面元素中提取出系统接口标识对应系统接口的版本信息,根据第二预设位置,从目标页面元素中提取出系统接口标识对应系统接口的权限信息,从而得到系统接口标识对应系统接口的权限描述信息。
上述实施例中,服务器通过从权限文件中提取出应用程序的接口所关联的系统接口的系统接口标识;基于系统接口标识从开发信息页面中提取目标页面元素;从目标页面元素的预设位置处,提取出系统接口标识对应系统接口的权限描述信息,从而实现了自动化提取权限描述信息,以对权限文件进行更新,避免了手动输入或更新权限描述信息可能会引入错误或遗漏。
在一个实施例中,权限描述信息包括第一权限信息和对应的第一系统版本信息;权限文件中还包括应用程序的接口所关联系统接口的第二权限信息和第二系统版本信息;服务器基于权限描述信息对存储的权限文件进行系统权限更新,得到权限更新文件的过程包括以下步骤:当第一权限信息、第一系统版本信息与第二权限信息和第二系统版本信息之间不匹配时,基于第一权限信息、第一系统版本信息对权限文件中的第二权限信息和第二系统版本信息进行系统权限更新,得到权限更新文件。
具体的,服务器在得到第一系统版本信息、第一权限信息、第二系统版本信息和第二权限信息之后,基于第一系统版本信息、第一权限信息确定出所提取出的系统接口在各系统版本下的系统权限,基于第二系统版本信息和第二权限信息确定出权限文件中的系统接口在各系统版本下的系统权限,并将提取出的系统接口在各系统版本下的系统权限,与权限文件中的系统接口在各系统版本下的系统权限进行对比,得到对比结果,若对比结果表征取出的权限描述信息中包含了权限文件中所不存在的系统版本下的系统权限,则将权限文件中的第二权限信息和第二系统版本信息替换为所提取出的第一权限信息和第一系统版本信息,得到权限更新文件。
上述实施例中,权限描述信息包括第一权限信息和对应的第一系统版本信息;权限文件中还包括应用程序的接口所关联系统接口的第二权限信息和第二系统版本信息;服务器通过将第一权限信息、第一系统版本信息与第二权限信息和第二系统版本信息进行对比,当第一权限信息、第一系统版本信息与第二权限信息和第二系统版本信息之间不匹配时,基于第一权限信息、第一系统版本信息对权限文件中的第二权限信息和第二系统版本信息进行系统权限更新,得到权限更新文件,从而可以确保服务器中存储的权限文件始终与操作系统当前的权限描述信息保持同步,确保权限文件中的信息是最新和准确的。
在一个实施例中,应用程序为母应用,终端获取应用程序在操作系统中的权限更新信息的过程包括以下步骤:在对运行于母应用的子应用初始化的过程中,启动权限更新检测服务;基于权限更新检测服务获取操作系统的版本信息和母应用的版本信息;基于版本信息和母应用的版本信息,获取母应用在操作系统的权限更新信息;终端当接收到针对应用程序的业务接口的调用请求时,基于更新后权限列表确定业务接口所需的目标系统权限的过程包括以下步骤:当接收到针对子应用的业务接口的调用请求时,基于更新后权限列表确定业务接口所需的目标系统权限。
其中,权限更新检测服务是用于检测和管理应用程序所需权限的变化或更新的服务。可以理解的是,随着操作系统和应用程序的迭代,某些功能或接口可能会要求不同的权限,为了确保应用程序的功能正常运行并保持对用户的透明性,这个服务会定期或在特定事件触发时检查是否有权限的变更。
具体的,当终端上的母应用启动时,母应用中的代码开始初始化子应用容器,权限更新检测服务启动并初始化其所需的资源和配置,通过权限更新检测服务获取操作系统的版本信息和母应用的版本信息,并基于版本信息和母应用的版本信息生成权限信息更新请求,将权限信息更新请求发送至服务器,接收服务器响应于权限信息更新请求返回的权限更新信息,并基于权限更新信息对母应用的权限列表进行系统权限更新,得到更新后权限列表,更新后权限列表存储了母应用所运行子应用的接口和子应用的接口所需的系统权限,当接收到针对子应用的业务接口的调用请求时,基于更新后权限列表确定业务接口所需的目标系统权限。
上述实施例中,终端通过在对运行于母应用的子应用初始化的过程中,启动权限更新检测服务,基于权限更新检测服务获取操作系统的版本信息和母应用的版本信息;基于版本信息和母应用的版本信息,获取母应用在操作系统的权限更新信息,从而只需在母应用中启动一次权限更新检测服务,即可为所有子应用提供权限更新信息,减少了重复的操作和资源消耗,且确保了所有子应用都能使用最新、最准确的权限信息,进而可以及时使得子应用在操作系统中的权限始终是最新的,避免了后续在子应用接口调用时可能发生的错误。
在一个实施例中,上述应用程序的接口调用方法还包括以下步骤:对业务接口进行目标系统权限的校验,得到校验结果;终端在基于目标系统权限获得目标对象的授权之后,调用业务接口关联的系统接口的过程还包括以下步骤:当校验结果表征针对目标系统权限获得目标对象的授权时,调用业务接口关联的系统接口。
具体的,终端在确定出业务接口所需的目标系统权限之后,终端可以采用预设的校验方法来校验该业务接口是否已经获得了目标系统权限的授权,得到校验结果,例如在操作系统A中,可以使用权限校验方法来检查应用是否已经拥有某个权限,其中权限校验方法可以是ContextCompat.checkSelfPermission()方法,当校验结果表征针对目标系统权限获得目标对象的授权时,利用相关的接口调用函数或者接口调用方法,调用步骤S206中所确定的系统接口标识所对应的系统接口,系统接口成功调用后,会返回相应的数据,终端对所返回的数据按照业务接口所对应的业务逻辑对其及进行处理,从而得到业务接口数据处理结果。
上述实施例中,终端通过对业务接口进行目标系统权限的校验,得到校验结果;当校验结果表征针对目标系统权限获得目标对象的授权时,调用业务接口关联的系统接口,确保只有得到适当授权的业务接口才能调用系统接口,防止潜在的恶意行为或误操作。
在一个实施例中,上述应用程序的接口调用方法还包括以下步骤:对业务接口进行目标系统权限的校验,得到校验结果;当校验结果表征针对目标系统权限未获得目标对象的授权时,对业务接口进行目标系统权限的申请,得到申请结果;终端在基于目标系统权限获得目标对象的授权之后,调用业务接口关联的系统接口的过程还包括以下步骤:当申请结果表征针对目标系统权限获得目标对象的授权之后,调用业务接口关联的系统接口。
具体的,终端在确定出业务接口所需的目标系统权限之后,终端可以采用预设的校验方法来校验该业务接口是否已经获得了目标系统权限的授权,得到校验结果,例如在操作系统A中,可以使用权限校验方法来检查应用是否已经拥有某个权限,其中权限校验方法可以是ContextCompat.checkSelfPermission(),当校验结果表征针对目标系统权限未获得目标对象的授权时,采用预设的权限申请方法来申请权限,得到申请结果,例如在操作系统A中,使用权限申请方法B来请求权限,其中权限申请方法B可以是ActivityCompat.requestPermissions()方法,当申请结果表征针对目标系统权限获得目标对象的授权之后,利用相关的接口调用函数或者接口调用方法,调用步骤S206中所确定的系统接口标识所对应的系统接口,系统接口成功调用后,会返回相应的数据,终端对所返回的数据按照业务接口所对应的业务逻辑对其及进行处理,从而得到业务接口数据处理结果。
上述实施例中,终端通过对业务接口进行目标系统权限的校验,得到校验结果;当校验结果表征针对目标系统权限未获得目标对象的授权时,对业务接口进行目标系统权限的申请,得到申请结果;当申请结果表征针对目标系统权限获得目标对象的授权之后,调用业务接口关联的系统接口,确保了只有得到适当授权的请求才能访问受限资源,增强了系统的安全性。
在一个实施例中,如图5所示,提供了一种应用程序的接口调用方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
S502a,当触发应用程序的第一更新事件时,获取操作系统的版本信息。
具体的,当应用程序启动时、或在检测到操作系统的版本发生更新时,或在到达更新时间点时,即确定触发了应用程序启动事件、或触发了操作系统版本更新事件、或触发了定时事件,终端可以检测当前所运行的操作系统版本和当前应用程序版本,得到操作系统的版本信息和应用程序的版本信息。
S504a,基于版本信息和应用程序的版本信息生成权限信息更新请求。
具体的,终端在得到操作系统的版本信息和应用程序的版本信息之后,根据所获取的操作系统的版本信息和应用程序的版本信息生成权限信息更新请求,该权限信息更新请求中携带有操作系统的版本信息和应用程序的版本信息。
S506a,将权限信息更新请求发送至服务器。
具体的,终端将所生成的权限信息更新请求发送至服务器,服务器在接收到权限信息更新请求后,基于权限信息更新请求中所携带的操作系统的版本信息和应用程序的版本信息确定权限数据库中查找与操作系统的版本信息和应用程序的版本信息匹配的权限更新信息。
S508a,接收服务器响应于权限更新请求返回的更新文件地址。
具体的,服务器在接收到权限更新请求之后,基于权限信息更新请求中所携带的操作系统的版本信息和应用程序的版本信息确定在权限文件中查找与操作系统的版本信息和应用程序的版本信息匹配的权限更新信息,并将查找到的权限更新信息所在的权限更新文件的更新文件地址返回给终端。
S502b,当服务器触发第二更新事件时,获取操作系统的开发信息页面;从开发信息页面中提取应用程序的接口所关联系统接口的权限描述信息。
具体的,当服务器触发或检测到触发了第二更新事件时,基于第二更新事件确定待进行更新检测的操作系统,例如若第二更新事件为定时事件,则可以将服务器所维护的各权限文件对应的操作系统确定为待进行更新检测的操作系统;若第二更新事件为更新请求事件,则将权限信息更新请求所对应的操作系统确定为待进行更新检测的操作系统;若第二更新事件为更新指令事件,则将更新指令所对应的操作系统确定为待进行更新检测的操作系统,针对待进行更新检测的操作系统,获取的该操作系统的信息地址,基于所获取的信息地址访问该操作系统的开发信息页面,并对开发信息页面进行解析,得到页面内容,从页面内容中提取出关于操作系统的各系统接口的权限描述信息,并从各系统接口的权限描述信息中提取出应用程序的接口所关联系统接口的权限描述信息。
S504b,基于权限描述信息对存储的权限文件进行系统权限更新,得到权限更新文件。
具体的,服务器针对所存储的操作系统和应用程序所对应的权限文件,将所提取出的应用程序的接口所关联系统接口的权限描述信息,与该权限文件中所存储的应用程序的接口所关联系统接口的权限描述信息进行对比,得到对比结果,当对比结果表征二者不一致时,基于所提取出的应用程序的接口所关联系统接口的权限描述信息对该权限文件中的应用程序的接口所关联系统接口的权限描述信息进行系统权限更新,得到权限更新文件。
S506b,基于权限更新文件的更新文件地址生成更新提示消息;将更新提示消息发送至权限更新文件关联的目标终端。
具体的,服务器获取权限更新文件的更新文件地址,基于更新文件地址生成更新提示消息,并基于权限更新文件所对应的操作系统和应用程序确定目标终端,将所生成的更新提示消息发送给目标终端,以使目标终端基于更新提示消息获取应用程序在操作系统中的权限更新信息。其中,目标终端的数量为至少一个,终端属于目标终端。
S508b,当接收到服务器下发的权限更新提示消息时,从权限更新提示消息中提取更新文件地址。
具体的,终端当接收到服务器下发的权限更新提示消息时,对权限更新提示消息进行解析,得到解析结果,并从解析结果中提取出更新文件地址。
S510,基于更新文件地址下载权限更新文件。
S512,在权限更新文件的完整性校验通过后,从权限更新文件中提取权限更新信息。
具体的,终端基于所提取的更新文件地址从服务器下载权限更新文件,在下载完成后,计算所下载的权限更新文件的哈希值,并将所计算出的哈希值与从服务器接收到的哈希值进行比较,得到比较结果,该比较结果即为完整性校验结果,在完整性校验结果表征完整性校验通过时,从所下载的权限更新文件中提取出权限更新信息。
S514,基于权限更新信息对应用程序的权限列表进行系统权限更新,得到更新后权限列表;更新后权限列表存储了应用程序的接口和接口所需的系统权限。
具体地,终端在得到权限更新信息之后,将权限更新信息与权限列表进行对比,得到对比结果,当对比结果表征某个系统接口所需的系统权限存在新增权限、删除权限或变更权限中的至少一项时,按照对比结果对权限列表进行更新,具体针对新增权限可将其添加至权限列表中,针对删除权限可将其从权限列表中移出,针对变更权限可将其替换至权限列表中,从而得到更新后权限列表。
S516,当接收到针对应用程序的业务接口的调用请求时,基于更新后权限列表确定业务接口所需的目标系统权限。
具体的,当终端接收到针对应用程序的某个业务接口的调用请求时,基于待接口调用请求确定该业务接口的接口标识,并基于该接口标识从存储的权限更新列表中查找接口标识所对应的系统接口标识,并将权限更新列表中系统接口标识所对应的所需系统权限确定为该业务接口所需的目标系统权限。
S518,在基于目标系统权限获得目标对象的授权之后,调用业务接口关联的系统接口,以实现业务接口对应的业务逻辑。
具体的,终端在确定出调用应用程序的业务接口所需的目标系统权限之后,确定应用程序当前是否已经获得目标对象的关于目标系统权限的授权,并在获得目标对象的授权之后,利用相关的接口调用函数或者接口调用方法,调用所确定的系统接口标识所对应的系统接口,系统接口成功调用后,会返回相应的数据,终端对所返回的数据按照业务接口所对应的业务逻辑对其及进行处理,从而得到业务接口数据处理结果。
本申请还提供一种应用场景,该应用场景为小程序场景,该应用场景具体可以应用上述应用程序的接口调用方法,该方法通过图6所示的系统架构来实现,该系统架构包括后台服务、网关和小程序容器,其中,后台服务负责系统权限的版本信息维护以及提供相关的权限信息获取接口,其主要包含三个服务和管理后台,三个服务分别为权限配置信息下发服务、权限信息存储服务、权限信息版本检测定时任务,分别提供权限配置信息的下发接口、权限信息的版本管理和存储逻辑、以及权限信息的自动更新逻辑和业务;管理后台负责权限信息的下发审批、权限信息版本配置、以及定时任务的配置和触发执行;网关用于对后台服务和小程序容器间进行消息转发和访问,权限配置更新消息通过网关提供的长链接通道进行下发;小程序容器用于提供小程序的运行时环境;本方案中涉及的模块为权限配置管理、权限申请管理和API管理;其中,权限配置管理负责小程序容器端的权限信息版本管理逻辑实现,权限申请模块负责小程序容器的权限校验和申请逻辑实现,小程序API为动态代理系统API映射模块。参考图7,该方法具体包括以下步骤:
步骤1、服务器维护权限文件
运行人员管理控制台来配置权限信息自动更新的周期和更新触发时间点,确保后台服务器能够定制自动的完成操作系统的系统接口的权限信息的收集,以对所存储的权限文件进行更新,得到权限更新文件。
步骤2、小程序初始化
宿主应用接入小程序容器,调用小程序容器初始化代码,对小程序容器进行初始化。
步骤3、获取权限更新信息
小程序容器的权限配置服务,在初始化时,通过网关和后台的权限配置信息下发接口通信,利用当前宿主应用所在操作系统的系统版本信息,从服务器获取宿主应用在操作系统的权限更新信息。
步骤4、权限列表更新
利用网关和后台服务通信,从服务器获取权限更新信息后,基于所述获取的权限更新信息更新本地宿主应用在操作系统的权限列表。
步骤5、小程序接口调用
运行于小程序容器的小程序,调用小程序提供的api函数(例如:wx.startDiscovery)。
步骤6、权限校验
小程序容器的权限申请管理模块,根据api从权限列表信息中,查询使用其所需要系统权限(Permission.BLUETOOTH_ADMIN)。并使用原生提供的权限校验方法校验权限,若权限校验失败,则执行申请权限的逻辑。
步骤7、系统接口调用
当权限校验成功或权限申请成功后,调用小程序接口所关联的系统接口(startDiscovery)实现相关逻辑,为小程序提供业务逻辑相关数据支持。
此外步骤3中获取权限更新信息的方式有两种,第一方式为终端主动从服务器拉取的方式,第二方式为被动接收服务器推送的方式,参考图8,第一方式包括以下步骤:
1、宿主应用启动,调用小程序容器初始化逻辑,启动权限列表的检测更新服务。
2、小程序容器的权限检测更新服务获取当前的系统版本号;通过网关代理和后台的权限管理服务进行通信,后台权限管理服务(服务器)根据系统版本号和SDK版本号,从权限管理存储模块中获取是否存在更新结果;如果存在权限更新文件,后台权限管理服务(服务器)将返回权限更新文件的下载地址。
3、小程序容器的权限检测更新服务,根据检测更新的返回结果,利用下载地址下载最新的权限更新文件,并存储到本地。
4、权限检测更新服务对权限更新文件进行完整性校验和解密,并从中提取小程序API和原生系统权限的关系映射,基于提取的小程序API和原生系统权限的关系映射更新本地的宿主应用在操作系统的权限列表,得到权限更新列表。
参考图9,第二方式包括以下步骤:
1、后台权限管理服务(服务器)在完成权限信息自动更新且存在更新的条件下,利用网关下发权限更新提示信息。
2、小程序容器的网关服务将所接受到的权限更新提示信息进行解析,并启动权限列表更新逻辑。
3、小程序权限列表更新服务,利用从权限更新提示信息中解析出来的当前权限列表地址,下载权限列表文件并缓存。
4、权限检测更新服务对权限更新文件进行完整性校验和解密,并从中提取小程序API和原生系统权限的关系映射,基于提取的小程序API和原生系统权限的关系映射更新本地的宿主应用在操作系统的权限列表,得到权限更新列表。
参考图10,后台权限管理服务(服务器)完成权限信息自动更新的过程包括以下步骤:
1、管理员通过控制台操作和配置权限信息更新任务。
2、权限更新信息任务启动,启动一个信息获取任务,并将目标网址信息作为信息获取的入口。
3、通过模拟http访问目标网址,获取H5网页内容。
4、将H5文件解析为dom树,遍历dom树,通过API关键字定位到系统原生方法的方法描述。
5、从原生方法的描述中,提取权限内容、版本信息。
6、以方法名称为key,从权限文件中查询存储的权限信息(版本信息+权限内容),将查询值和5中的结果进行比较。
7、若步骤5和步骤6中的信息不一致,则利用步骤5中的结果为准进行更新,生成待审批的权限更新记录(入库确认)。
8、运营人员通过管理控制台审批权限更新记录后,权限记录被入库保存,并通过网关下发权限更新提示信息。
参考图11,服务器从原生方法的描述中,提取权限内容、版本信息的过程包括以下步骤:
1、从存储的权限文件中提取小程序容器版本支持的api信息。例如小程序接口为apiwx.startDiscovery。
2、通过小程序的API名称,获取所映射到的原生系统API名,例如映射的系统接口为BluetoothAdapter.startDiscovery。
3、在从获取到的H5网页内容中,以系统API名称(startDiscovery)为关键字,匹配H5文件中关于startDiscovery的方法描述段落。利用selector语法,过滤和提取对应的dom元素和内容,此时提取到的元素中包含有和系统API调用相关的权限描述信息。
4、利用权限描述关键字“For app tageting”匹配权限信息所处的dom节点,其中权限的对应的版本信息对应第一个<p>标签内容;权限字符串对应第二个<p>标签的内容。由于在权限描述信息标签中存在多个版本的权限描述,所以这里将循环的从权限描述关键字中提取版本和权限信息。
5、将所提取到的权限版本、权限字符串和系统API进行关联;就得到了一个系统API和系统权限(含版本)的映射关系。
本申请还提供一种应用场景,该应用场景为地图小程序场景,该应用场景具体可以应用上述应用程序的接口调用方法,通过应用上述应用程序的接口调用方法可以实现地图小程序对系统定位接口的调用,进而实现通过地图小程序展示如图12所示的地图页面。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的应用程序的接口调用方法的应用程序的接口调用装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个应用程序的接口调用装置实施例中的具体限定可以参见上文中对于应用程序的接口调用方法的限定,在此不再赘述。
在一个实施例中,如图13所示,提供了一种应用程序的接口调用装置,包括:权限更新信息获取模块1302、系统权限更新模块1304、目标系统权限确定模块1306和系统接口调用模块1308,其中:
权限更新信息获取模块1302,用于获取应用程序在操作系统中的权限更新信息。
系统权限更新模块1304,用于基于权限更新信息对应用程序的权限列表进行系统权限更新,得到更新后权限列表;更新后权限列表存储了应用程序的接口和接口所需的系统权限。
目标系统权限确定模块1306,用于当接收到针对应用程序的业务接口的调用请求时,基于更新后权限列表确定业务接口所需的目标系统权限。
系统接口调用模块1308,用于在基于目标系统权限获得目标对象的授权之后,调用业务接口关联的系统接口,以实现业务接口对应的业务逻辑。
上述实施例中,通过预先设置权限列表来存储应用程序在操作系统的权限列表,在操作系统发生版本更新时,通过获取应用程序在操作系统中的权限更新信息;基于权限更新信息对应用程序的权限列表进行系统权限更新,得到更新后权限列表;更新后权限列表存储了应用程序的接口和接口所需的系统权限,从而在接收到针对应用程序的业务接口的调用请求时,可直接基于更新后权限列表确定业务接口所需的目标系统权限,并能够正确地基于目标系统权限获得目标对象的授权,在获得授权后调用业务接口关联的系统接口,以实现业务接口对应的业务逻辑,实现了业务接口的正常调用。
在一个实施例中,权限更新信息获取模块1302,还用于:当触发应用程序的第一更新事件时,获取操作系统的版本信息;基于版本信息和应用程序的版本信息生成权限信息更新请求;将权限信息更新请求发送至服务器;接收服务器响应于权限信息更新请求返回的权限更新信息。
在一个实施例中,权限更新信息获取模块1302,还用于:接收服务器响应于权限更新请求返回的更新文件地址;基于更新文件地址下载权限更新文件;在权限更新文件的完整性校验通过后,从权限更新文件中提取权限更新信息。
在一个实施例中,权限更新信息获取模块1302,还用于:当接收到服务器下发的权限更新提示消息时,从权限更新提示消息中提取更新文件地址;基于更新文件地址下载权限更新文件;从权限更新文件中进行信息提取,得到应用程序在操作系统的权限更新信息。
在一个实施例中,权限更新信息获取模块1302,还用于:响应于服务器下发的权限更新提示消息,对操作系统进行更新检测;当检测到操作系统发生更新时,从权限更新提示消息中提取更新文件地址。
在一个实施例中,权限更新信息获取模块1302,还用于:响应于服务器下发的权限更新提示消息,对操作系统进行更新检测;当检测到操作系统未发生更新时,展示系统更新提示消息;当检测到对系统更新提示消息的系统更新触发操作时,从更新提示消息中提取更新文件地址。
在一个实施例中,权限更新信息获取模块1302,还用于:当服务器触发第二更新事件时,获取操作系统的开发信息页面;从开发信息页面中提取应用程序的接口所关联系统接口的权限描述信息;基于权限描述信息对存储的权限文件进行系统权限更新,得到权限更新文件;基于权限更新文件的更新文件地址生成更新提示消息;将更新提示消息发送至权限更新文件关联的目标终端。
在一个实施例中,权限更新信息获取模块1302,还用于:从权限文件中提取出应用程序的接口所关联的系统接口的系统接口标识;基于系统接口标识从开发信息页面中提取目标页面元素;从目标页面元素的预设位置处,提取出系统接口标识对应系统接口的权限描述信息。
在一个实施例中,权限描述信息包括第一权限信息和对应的第一系统版本信息;权限文件中还包括应用程序的接口所关联系统接口的第二权限信息和第二系统版本信息;权限更新信息获取模块1302,还用于:当第一权限信息、第一系统版本信息与第二权限信息和第二系统版本信息之间不匹配时,基于第一权限信息、第一系统版本信息对权限文件中的第二权限信息和第二系统版本信息进行系统权限更新,得到权限更新文件。
在一个实施例中,应用程序为母应用;权限更新信息获取模块1302,还用于:在对运行于母应用的子应用初始化的过程中,启动权限更新检测服务;基于权限更新检测服务获取操作系统的版本信息和母应用的版本信息;基于版本信息和母应用的版本信息,获取母应用在操作系统的权限更新信息;目标系统权限确定模块1306,还用于:当接收到针对子应用的业务接口的调用请求时,基于更新后权限列表确定业务接口所需的目标系统权限。
在一个实施例中,如图14所示,装置还包括:权限校验模块1310,用于对业务接口进行目标系统权限的校验,得到校验结果;系统接口调用模块1308,还用于:当校验结果表征针对目标系统权限获得目标对象的授权时,调用业务接口关联的系统接口。
在一个实施例中,权限校验模块1310,还用于:对业务接口进行目标系统权限的校验,得到校验结果;当校验结果表征针对目标系统权限未获得目标对象的授权时,对业务接口进行目标系统权限的申请,得到申请结果;系统接口调用模块1308,还用于:当申请结果表征针对目标系统权限获得目标对象的授权之后,调用业务接口关联的系统接口。
上述应用程序的接口调用装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图15所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种应用程序的接口调用方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (16)
1.一种应用程序的接口调用方法,其特征在于,所述方法包括:
获取应用程序在操作系统中的权限更新信息;
基于所述权限更新信息对所述应用程序的权限列表进行系统权限更新,得到更新后权限列表;所述更新后权限列表存储了所述应用程序的接口和所述接口所需的系统权限;
当接收到针对所述应用程序的业务接口的调用请求时,基于所述更新后权限列表确定所述业务接口所需的目标系统权限;
在基于所述目标系统权限获得目标对象的授权之后,调用所述业务接口关联的系统接口,以实现所述业务接口对应的业务逻辑。
2.根据权利要求1所述的方法,其特征在于,所述获取应用程序在操作系统中的权限更新信息,包括:
当触发应用程序的第一更新事件时,获取操作系统的版本信息;
基于所述版本信息和所述应用程序的版本信息生成权限信息更新请求;
将所述权限信息更新请求发送至服务器;
接收所述服务器响应于所述权限信息更新请求返回的权限更新信息。
3.根据权利要求2所述的方法,其特征在于,所述接收所述服务器响应于所述权限信息更新请求返回的权限更新信息,包括:
接收所述服务器响应于所述权限更新请求返回的更新文件地址;
基于所述更新文件地址下载权限更新文件;
在所述权限更新文件的完整性校验通过后,从所述权限更新文件中提取权限更新信息。
4.根据权利要求1所述的方法,其特征在于,所述获取应用程序在操作系统中的权限更新信息包括:
当接收到服务器下发的权限更新提示消息时,从所述权限更新提示消息中提取更新文件地址;
基于所述更新文件地址下载权限更新文件;
从所述权限更新文件中进行信息提取,得到所述应用程序在所述操作系统的权限更新信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应于服务器下发的权限更新提示消息,对所述操作系统进行更新检测;
所述从所述权限更新提示消息中提取更新文件地址,包括:
当检测到所述操作系统发生更新时,从所述权限更新提示消息中提取更新文件地址。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应于服务器下发的权限更新提示消息,对所述操作系统进行更新检测;
所述从所述权限更新提示消息中提取更新文件地址,包括:
当检测到所述操作系统未发生更新时,展示系统更新提示消息;
当检测到对所述系统更新提示消息的系统更新触发操作时,从所述更新提示消息中提取更新文件地址。
7.根据权利要求4所述的方法,其特征在于,所述当接收到服务器下发的权限更新提示消息时,从所述权限更新提示消息中提取更新文件地址之前,所述方法还包括:
当所述服务器触发第二更新事件时,获取所述操作系统的开发信息页面;
从所述开发信息页面中提取所述应用程序的接口所关联系统接口的权限描述信息;
基于所述权限描述信息对存储的权限文件进行系统权限更新,得到权限更新文件;
基于所述权限更新文件的更新文件地址生成更新提示消息;
将所述更新提示消息发送至所述权限更新文件关联的目标终端。
8.根据权利要求7所述的方法,其特征在于,所述权限文件中包括所述应用程序的接口所关联系统接口的系统接口标识;所述从所述开发信息页面中提取所述应用程序的接口所关联系统接口的权限描述信息,包括:
从所述权限文件中提取出所述应用程序的接口所关联的系统接口的系统接口标识;
基于所述系统接口标识从所述开发信息页面中提取目标页面元素;
从所述目标页面元素的预设位置处,提取出所述系统接口标识对应系统接口的权限描述信息。
9.根据权利要求7所述的方法,其特征在于,所述权限描述信息包括第一权限信息和对应的第一系统版本信息;所述权限文件中还包括所述应用程序的接口所关联系统接口的第二权限信息和第二系统版本信息;
所述基于所述权限描述信息对存储的权限文件进行系统权限更新,得到权限更新文件,包括:
当所述第一权限信息、所述第一系统版本信息与所述第二权限信息和所述第二系统版本信息之间不匹配时,基于所述第一权限信息、所述第一系统版本信息对权限文件中的所述第二权限信息和所述第二系统版本信息进行系统权限更新,得到权限更新文件。
10.根据权利要求1所述的方法,其特征在于,所述应用程序为母应用;所述获取应用程序在操作系统中的权限更新信息,包括:
在对运行于所述母应用的子应用初始化的过程中,启动权限更新检测服务;
基于所述权限更新检测服务获取所述操作系统的版本信息和所述母应用的版本信息;
基于所述版本信息和所述母应用的版本信息,获取所述母应用在所述操作系统的权限更新信息;
所述当接收到针对所述应用程序的业务接口的调用请求时,基于所述更新后权限列表确定所述业务接口所需的目标系统权限,包括:
当接收到针对所述子应用的业务接口的调用请求时,基于所述更新后权限列表确定所述业务接口所需的目标系统权限。
11.根据权利要求1至10中的任一项所述的方法,其特征在于,所述方法还包括:
对所述业务接口进行所述目标系统权限的校验,得到校验结果;
所述在基于所述目标系统权限获得目标对象的授权之后,调用所述业务接口关联的系统接口,包括:
当所述校验结果表征针对所述目标系统权限获得目标对象的授权时,调用所述业务接口关联的系统接口。
12.根据权利要求1至10中的任一项所述的方法,其特征在于,所述方法还包括:
对所述业务接口进行所述目标系统权限的校验,得到校验结果;
当所述校验结果表征针对所述目标系统权限未获得目标对象的授权时,对所述业务接口进行所述目标系统权限的申请,得到申请结果;
所述在基于所述目标系统权限获得目标对象的授权之后,调用所述业务接口关联的系统接口,包括:
当所述申请结果表征针对所述目标系统权限获得目标对象的授权之后,调用所述业务接口关联的系统接口。
13.一种应用程序的接口调用装置,其特征在于,所述装置包括:
权限更新信息获取模块,用于获取应用程序在操作系统中的权限更新信息;
系统权限更新模块,用于基于所述权限更新信息对所述应用程序的权限列表进行系统权限更新,得到更新后权限列表;所述更新后权限列表存储了所述应用程序的接口和所述接口所需的系统权限;
目标系统权限确定模块,用于当接收到针对所述应用程序的业务接口的调用请求时,基于所述更新后权限列表确定所述业务接口所需的目标系统权限;
系统接口调用模块,用于在基于所述目标系统权限获得目标对象的授权之后,调用所述业务接口关联的系统接口,以实现所述业务接口对应的业务逻辑。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
16.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311355687.6A CN117389762A (zh) | 2023-10-18 | 2023-10-18 | 应用程序的接口调用方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311355687.6A CN117389762A (zh) | 2023-10-18 | 2023-10-18 | 应用程序的接口调用方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117389762A true CN117389762A (zh) | 2024-01-12 |
Family
ID=89467898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311355687.6A Pending CN117389762A (zh) | 2023-10-18 | 2023-10-18 | 应用程序的接口调用方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117389762A (zh) |
-
2023
- 2023-10-18 CN CN202311355687.6A patent/CN117389762A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11799984B2 (en) | Installable web applications | |
US10102306B2 (en) | Patching base document object model (DOM) with DOM-differentials to generate high fidelity replay of webpage user interactions | |
US9823917B2 (en) | Update application user interfaces on client devices | |
US20180225387A1 (en) | Method and apparatus for accessing webpage, apparatus and non-volatile computer storage medium | |
US9280665B2 (en) | Fast and accurate identification of message-based API calls in application binaries | |
US11503070B2 (en) | Techniques for classifying a web page based upon functions used to render the web page | |
US10200386B2 (en) | Intelligent web page content blocking | |
WO2019019668A1 (zh) | 应用程序启动方法、装置、计算机设备和存储介质 | |
US9330198B1 (en) | Mapping stored client data to requested data using metadata | |
US20140075301A1 (en) | Information processing apparatus, control method, and recording medium | |
US10754717B2 (en) | Fast and accurate identification of message-based API calls in application binaries | |
US11580294B2 (en) | Techniques for web framework detection | |
CN104704468A (zh) | Web应用程序的跨系统安装 | |
CN115150261B (zh) | 告警分析的方法、装置、电子设备及存储介质 | |
WO2022127743A1 (zh) | 内容显示方法及终端设备 | |
US9665732B2 (en) | Secure Download from internet marketplace | |
CN111666567A (zh) | 恶意修改应用程序的检测方法、装置、计算机程序和介质 | |
CN110574033B (zh) | 减少多媒体内容传递的远程过程调用 | |
CN117389762A (zh) | 应用程序的接口调用方法、装置、计算机设备和存储介质 | |
Pieterse | Evaluation and Identification of Authentic Smartphone Data | |
CN105610908B (zh) | 一种基于安卓设备的samba服务实现方法及系统 | |
Lin et al. | Android Forensics | |
CN114943045A (zh) | 基于离线缓存的终端网页加载方法、装置和计算机设备 | |
CN115665127A (zh) | 资源文件升级方法、装置、计算机设备和存储介质 | |
CN116702115A (zh) | 应用程序的权限申请方法、装置和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |