我被客户要求开发一个解决方案,涉及从Ring Central中提取呼叫信息 . 具体来说,我想 Build 一个Webhook,在呼叫进入时提取实时数据,然后使用呼叫日志同步进行夜间对帐 . 这是我使用RingCentral的第一个项目 .
RC文档并不完全清楚 . 我发现了这个信息:http://ringcentral-api-docs.readthedocs.io/en/latest/oauth/这意味着我需要注册为第三方开发者帐户,使用我自己的凭据,然后请求访问我的客户端's data every single time I need to pull anything. However, the solution I' m开发将由客户端拥有并在其服务器上运行,并且他们每天都要多次访问_325122 .
如何使用我的客户端凭据,或者我的客户端如何获得持久凭据,允许我对其数据进行非过期访问,以及如何使用这些凭据连接到API?
我将使用RC的REST API在Lucee和MySQL上使用CFML开发此解决方案 . 数据也将被发送到我的客户的主要业务系统Rent Manager .
2 回答
听起来您正在构建一个客户可以使用的应用程序 .
由于您的应用是“公共”应用,用户和应用所有者位于不同的组织中,因此可以使用OAuth 2.0授权码流程 . RingCentral的OAuth 2.0解决方案附带一个访问令牌和刷新令牌对 . 默认情况下,访问令牌有效一小时,之后您可以使用刷新令牌获取一个新令牌(通过官方RingCentral SDK自动获取) . 默认情况下,刷新令牌的生命周期为1周 . 这意味着您的应用将具有1周的“空闲”时间,因此如果在1周内未进行API调用,则用户将需要进行身份验证,否则用户无需执行任何操作,该应用将继续工作,即使密码更改后也是如此 . 从安全角度来看,此解决方案的好处是用户的凭据永远不会传递到您的应用程序 .
如果这种方法不适合您,请通过devsupport@ringcentral.com与我们的开发支持团队联系,讨论您的使用案例 .
在与四位代表交谈后,我从中学到了一些有用的东西,我花了几个小时做了反复试验,并通过文档进行搜索 . 最终我想出了如何做到这一点 .
首先,不要创建免费的开发者帐户 . 您最终会看到一个升级帐户的屏幕,您最终会发现该帐户会使您的帐户与您尝试连接的现有RC帐户相同!首先,登录您正在开发应用程序的帐户以从中提取数据 .
登录后,创建一个新应用程序并确保选择“仅服务器(无UI)”选项 . 这将使您的应用符合我们要使用的身份验证方法 . 如果您未选择此平台类型,则您的身份验证调用将失败 .
之后,请按照"password flow"身份验证文档中的说明进行操作 . 目前详细报道https://developer.ringcentral.com/api-docs/latest/index.html?_ga=2.103110336.1372637327.1532456796-967119171.1528482913#!#RefPasswordFlow
我在ColdFusion中的电话最终看起来像这样: