开发授权详解
什么是授权Key
授权Key是在线开发中使用的应用密钥,即Key,它是服务的口令标识,是一种为了保障用户发布在云平台的服务的安全机制。
如果需要使用SuperMap Online的在线服务、API等资源进行在线Web开发,您需要先申请密钥key。key是服务的口令标识,由24位随机字母+数字组成,是一种在线服务的保护机制。
申请key
任何用户登录后,都可以申请开发key。
其中,根据key的具体使用场景,可以设置其应用类别为:站点访问或服务请求。
站点访问
即允许使用key来发请求的网站或Web App,例如:http://www.mywebsite.com。
这种方式适用于生产环境下,只需要确定的域名即可,后续服务器IP的变更、升级等均不受限制。
访问源IP
即允许使用key来发请求的服务器IP,一般适用于开发过程中或测试环境下。如果服务器IP变更,则需同步修改key的IP设置,key字符串本身不会变化。
如果IP设置为0.0.0.0,则表示不限制发请求的服务器,任何机器都能使用这个key发请求。请谨慎使用,建议仅限于测试。
如何使用Key
开发者在访问该服务时只需在其服务地址后加上(key)的请求参数,例如以下访问请求:
https://www.xnip.cn/doc/GivDf5LKf4iserver/services/kx8modst/rest?key=VeXOcFHJrYLsMS3YyT9AR6zc
其中“?”前的部分是需要调用的服务地址,其后的部分(key=……)为访问需要的密钥请求参数,以此url发送请求即可进行访问。
Key的使用限制
key可用于两类服务:
- GIS云分析服务,每个账户的使用限额(所有key):免费共计 10,000 次请求/天。
SuperMap Online提供了GIS云分析服务,如路径导航、地理编码、公交换乘等,面向开发者免费使用。只要申请了key,您就可以直接访问使用这些GIS服务。
- 用户基于GIS云存储上传数据后发布的REST服务,每个账户下所有服务的访问限额(所有key):免费 5,000次请求/天(请求一张瓦片即为一次请求)。
也就是说,您上传的数据可以发布为REST服务,设置为公开的数据可以不受key的限制按需访问随时调用。私有的服务在开发时并不能直接使用,需要在开发应用前对您的服务生成key,然后通过key使用服务,调用的次数会受到key的限制。
此外,SuperMap Online公开的其他数据,如在线地图、实时数据服务、其他专题与示例数据,您可以免费访问,无需key的限制。
请求错误说明
以下是错误请求时返回的信息:
请求响应:
{
“succeed”:”false”
“error”:
“errorMsg”:”注册的key已达上限”
“code”:”400”
}
其中code为响应错误码,errorMsg为错误详情。相应错误码说明如下:
- 200:表示服务器成功执行了客户端的 HTTP 请求。
- 400:请求出错。通常是客户端的请求参数不合法或没有表达足够的信息。
- 401:表示因为安全的原因,导致对资源的操作没有完成。通常是输入了错误的 key 或错误的服务,或是发送请求的 IP 不被 key 所认可。
- 404:表示客户端请求的资源不存在,即 URI 无效。
- 406:表示资源不支持客户端请求的表述格式。
- 500:表示服务器端发生非预期情况,导致请求没有完成。