本应用授权与额度查询
首次提供版本:JavaScript 0.1.0-alpha.44,配套查询服务已部署。 alpha.43 没有 getAuthorization(),升级 JS 文件或 npm 包后使用。
调用方式
通过 load() 返回的 sdk 查询,无需再次传 Key。请求沿用初始化时的 Key、数据集和服务地址,只返回该已认证应用的授权信息。
// 前提:已加载 alpha.44,且服务端已部署配套查询接口。
try {
const info = await sdk.getAuthorization();
console.log(info.datasetId, info.sourceDatasetId, info.datasetVersion);
console.log(info.rateLimit.remaining, info.rateLimit.resetsAt);
} catch (error) {
// 记录错误码、请求 ID;不输出 Key 或令牌。
console.error(error.code, error.requestId);
}
返回 Promise<AuthorizationInfo>。对应 GET /openapi/v1/authorization,SDK 自动处理认证和公共请求参数。不要轮询该接口代替业务请求失败处理,也不要把返回的剩余额度视为预留成功。
返回字段
| 字段 | 类型 | 含义 |
|---|---|---|
| datasetId | string | 当前应用对外使用的数据集标识 |
| sourceDatasetId | string | 实际绑定的底层图源标识 |
| datasetVersion | string 或 null | 实际解析的数据版本;没有可用发布版本时可能为空 |
| followsCurrent | boolean | 是否跟随服务端当前发布版本;false 表示授权固定版本 |
| platform | string | 应用授权的平台 |
| expiresAt | number 或 null | 授权到期时间,Unix 毫秒;null 表示未设置到期时间 |
| capabilities | string[] | 已授予的能力,返回信息不产生额外授权 |
| rateLimit.windowMillis | number | 请求计数窗口,目前为 60000 毫秒 |
| rateLimit.limit / used / remaining | number | 当前窗口限额、已用与剩余请求数;查询本身也属于请求 |
| rateLimit.resetsAt | number | 当前请求窗口重置时间,Unix 毫秒 |
| dataBudget.bytes / byteLimit | number | 当前 10 分钟数据访问窗口已用字节 / 字节上限 |
| dataBudget.regions / regionLimit | number | 当前 10 分钟数据访问窗口已用区域计数 / 区域上限 |
| dataBudget.resetsAt | number | 数据访问窗口重置时间,Unix 毫秒;与请求窗口分别计算 |
| qpsLimit / dailyRequestLimit | null | 当前不提供独立 QPS 或每日请求额度指标;null 不能解释为 0 或无限制 |
| observedAt | number | 服务端生成本次观察结果的时间,Unix 毫秒 |
计数可能因其他并发请求变化;各上限以实际返回为准,不把默认配置写成所有客户的固定承诺。授权允许的数据集和能力仍以服务端校验为准。
失败处理
无效或过期 Key、数据集不匹配、Origin 未登记、额度用尽和网络失败仍通过 SDK 错误返回。遇到限流遵守 retryAfterMillis / Retry-After,勿无限重试。alpha.43 方法不存在或未部署服务返回 404,均不是该客户“无授权”的证明,应先核对发布版本。
本接口只查询当前应用;不包含其他客户信息、Key、管理员权限或平台业务数据。行政区数据、独立骑行和公交能力仍未提供,不能根据授权查询方法存在而推定这些能力已经实现。