当前位置 : 主页 > 编程语言 > java >

【HMS Core】华为地图服务调用接口403问题

来源:互联网 收集:自由互联 发布时间:2023-09-14
【关键字】 HMS、地图服务、403 【问题描述】 有开发者反馈在集成地图服务与企业版地图服务,使用js模式,能正常加载地图,但是调用接口siteService.searchByText(request, function (result, sta

【关键字】

HMS、地图服务、403


【问题描述】

有开发者反馈在集成地图服务与企业版地图服务,使用js模式,能正常加载地图,但是调用接口siteService.searchByText(request, function (result, status) 返回Status Code:405 返回结果returnCode : "403" returnDesc : "REQUEST_DENIED"

【HMS Core】华为地图服务调用接口403问题_API

地图服务,js模式下,调用关键字搜索接口,返回错误码403,REQUEST_DENIED。并且cp已经开启了地图服务,咨询为什么还是报错。

【HMS Core】华为地图服务调用接口403问题_API_02

【HMS Core】华为地图服务调用接口403问题_错误码_03

【解决方案】

一、

1、如果是Android类应用,如果地图服务是正常打开的话 请检查一下agconnect-server.json文件中是否有包含api_key字段。

【HMS Core】华为地图服务调用接口403问题_错误码_04

2、或者查看一下是否有使用MapsInitializer.setApiKey("Your API key")代码设置 APIkey, 如果有使用的话 也需要保证API Key是正常的才行。

二、

Cp反馈使用的不是后端代码开发,直接使用的是javascript模式开发的,没有agconnect-server.json这个文件。是在html中引入地图js,并且apikey也是进行过编码的,地图能加载出来,也能在地图上做标记,如下图

【HMS Core】华为地图服务调用接口403问题_API_05

问题出在调用根据关键字查询的接口返回403的错误码:

【HMS Core】华为地图服务调用接口403问题_加载_06

这种情况需要进行如下确认:

1、这个错误码的意思是 APPID没有调用权限,因为这边拿不到API_KEY所以没办法直接看。

【HMS Core】华为地图服务调用接口403问题_错误码_07

2、可以检查三个地方:

a、第一个是加载地图和查找使用的api_key是否是同一个。正常来说地图能加载 搜索也应该可以使用的;

b、第二个是您可以查一下这个API_KEY对应的项目是否已经打开了地图服务和位置服务等相关的API,下图这三个都需要打开。

【HMS Core】华为地图服务调用接口403问题_加载_08

c、第三个是如果账户类型是企业用户的话, 可以升级到付费档。

【HMS Core】华为地图服务调用接口403问题_API_09

3、除了以上方式之外 ,如果还是不行,可以F12 看一下Response Headers里面是不是有其他什么信息。

【HMS Core】华为地图服务调用接口403问题_错误码_10

网友评论