关于通过Tapkey API为单个权限设置多时间段的技术咨询
关于Tapkey单个权限(Grant)设置多时间段的API实现方案
你可以通过Tapkey的Management API实现单个Grant配置多个时间段的需求,具体操作如下:
核心实现思路
Tapkey的Grant实体支持关联多个时间窗口(TimeWindow),在创建或更新Grant时,只需在请求参数中传入包含多个时间段的数组即可,这和Tapkey应用/门户的实现逻辑一致。
具体API操作
1. 创建带多时间段的Grant
调用POST /v1/grants接口,请求体中需包含以下关键参数:
lockId: 目标锁具IDuserId: 关联的用户ID(需已完成Tapkey与Sharepar账户关联)timeWindows: 数组类型,每个元素为一个时间段对象,结构如下:
示例请求体:{ "startTime": "2024-05-20T08:00:00Z", "endTime": "2024-05-20T18:00:00Z" }{ "lockId": "your-lock-id", "userId": "your-tapkey-user-id", "timeWindows": [ { "startTime": "2024-05-20T08:00:00Z", "endTime": "2024-05-20T12:00:00Z" }, { "startTime": "2024-05-20T14:00:00Z", "endTime": "2024-05-20T18:00:00Z" } ], "permissionType": "FullAccess" }
2. 更新现有Grant的时间段
如果需要给已存在的Grant添加或修改时间段,调用PUT /v1/grants/{grantId}接口,传入更新后的timeWindows数组即可,覆盖原有的时间配置。
注意事项
- 所有时间需使用ISO 8601格式的UTC时间,避免时区偏差
permissionType需根据实际需求选择(如FullAccess、LimitedAccess等),确保和业务场景匹配- 操作前需确保已通过OAuth2获取有效的Management API访问令牌
内容的提问来源于stack exchange,提问作者ToM
相关产品推荐
相关产品推荐

