c# - 刷新令牌后创建订阅
问题描述
我已将 RC 对象设置为自动刷新令牌,并订阅了详细的电话事件以获取来电通知。我还订阅了 RC 对象的自动刷新事件以获取刷新的令牌并将其分配给全局 RC 对象。这工作正常。我想知道令牌是否每隔一小时左右刷新一次,我们是否需要再次订阅详细的电话事件,即每次刷新令牌时?
解决方案
刷新 RC 对象访问令牌后,您无需再次订阅 RingCentral 推送通知事件(包括详细电话)。它是供您访问平台的。
但是,无论访问/刷新令牌如何,推送通知订阅都会过期。
- PubNub 订阅将在 15 分钟后到期。RingCentral SDK 会自动为您续订,因此只要您的应用程序正在运行,您无需执行任何特殊操作即可续订。
- WebHook 订阅默认在 7 天后到期。通知过期后,您只需调用更新它(/restapi/v1.0/subscription/{subscriptionId}/renew)。您还可以以秒为单位设置较长的到期时间,例如
"expiresIn": 500000000
超过 15 年,因此您不必担心续订。
这是您应该在您的应用程序中实现的方式:
- 订阅一个事件。
- 解析响应以保留订阅 ID 和
expiresIn
或expirationTime
。 - 根据
expiresIn
(秒)设置一个计时器来调用更新端点。(您需要有效的访问令牌才能调用此端点) - 或者,根据
expirationTime
(记得将时区转换为您的本地时间)设置一个计时器,然后在您的计时器触发时调用更新端点。(您需要有效的访问令牌才能调用此端点)
您可以在此处的 bot 文档中查看长期令牌的示例:
https://ringcentral-api-docs.readthedocs.io/en/latest/glip_bots/
推荐阅读
- python - 未找到 Seaborn 模块“histplot”
- plot - 如何在 Rmarkdown shinny 中绘制分层时间序列
- javascript - 为什么 Javascript .filter() 不返回带有活动过滤器(== 或 ===)的任何内容,但如果布尔逻辑的类型为 != 或 !== 则可以正常工作?
- javascript - 如何在 eventlister javascript 中设置延迟函数?
- react-native - XCode 12 无法使用 Sentry.io 在发布模式下构建
- snowflake-cloud-data-platform - 雪花 REGEXP_REPLACE 指南
- javascript - WebPack、node.js 和 MySQL 导致执行时 mysql 错误
- windows-subsystem-for-linux - 如何在安装 Docker Desktop 后恢复 WSL2 中丢失的容器和图像?
- python - 排除区间的端点
- sql - 为什么我得到“没有唯一约束匹配给定键的引用表......”错误