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

【关键字】

HMS、地图服务、403

【问题描述】

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

【HMS Core】华为地图服务调用接口403问题_第1张图片

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

【HMS Core】华为地图服务调用接口403问题_第2张图片

【HMS Core】华为地图服务调用接口403问题_第3张图片

【解决方案】

一、

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

【HMS Core】华为地图服务调用接口403问题_第4张图片

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

二、

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

【HMS Core】华为地图服务调用接口403问题_第5张图片

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

【HMS Core】华为地图服务调用接口403问题_第6张图片

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

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

cke_66487.png

2、可以检查三个地方:

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

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

【HMS Core】华为地图服务调用接口403问题_第7张图片

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

【HMS Core】华为地图服务调用接口403问题_第8张图片

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

【HMS Core】华为地图服务调用接口403问题_第9张图片

你可能感兴趣的:(华为)