csv - 将 RingCentral 通话记录导出为 CSV 的方法
问题描述
通话记录可以使用 RingCentral API 获取,并且可以使用 date To ( dateTo
) 和From ( dateFrom
) 进行过滤。
我已经通过 API Reference 在这里获取 API 调用日志。
我们可以看到以下 API 用于获取所有通话记录:
https://platform.devtest.ringcentral.com/restapi/v1.0/account/~/extension/~/call-log
但是我们需要将此日志导出为 CSV 格式的文件。我们可以在文件中执行此操作并将其保存在本地磁盘上的方式是什么?
我在任何官方文档中都没有。
解决方案
有很多方法可以做到这一点。如果您在此处查看此参考资料,您将看到,建议以管理员身份登录 RingCentral 在线帐户门户 ( https://service.ringcentral.com ) 查看您的通话记录数据,并将每个页面下载到一个单独的 csv 中。
这里的另一个参考建议使用编程语言调用通话记录 API 并将其保存为本地文件。
例如,使用 Node JS 并可以在您的机器上本地运行它。您需要做的就是登录开发者门户并创建一个具有读取通话记录权限的应用程序。应用平台类型将是仅服务器(无 UI)。 Client ID 和Client Secret可以在给出的链接中的示例代码中使用。
代码片段:
platform.get('/account/~/extension/~/call-log', params)
.then(function(resp){
var json = resp.json()
if (json.records.length > 0){
var fs = require('fs')
var cvs = 'uri,startTime,duration,type,direction,action,result,to_name,from_name,transport'
for (var record of json.records){
//console.log(JSON.stringify(record))
cvs += "\r\n"
cvs += record.uri + ','
cvs += record.startTime + ','
cvs += record.duration + ','
cvs += record.type + ','
cvs += record.direction + ','
cvs += record.action + ','
cvs += record.result + ','
if (record.to.hasOwnProperty('name'))
cvs += record.to.name + ','
else
cvs += 'null,'
if (record.hasOwnProperty('from')){
if (record.from.hasOwnProperty('name'))
cvs += record.from.name + ','
else
cvs += 'null,'
}else
cvs += 'null,'
cvs += record.transport
推荐阅读
- php - 针对特定 php 版本错误的 Github 操作
- flutter - Flutter:创建一个填充应用栏标题区域的矩形
- javascript - React:调用函数,为什么第一个有效而第二个无效?
- javascript - 如何比较两个具有不同属性名称的不同数组并在javascript中删除不匹配的数组?
- android - Android Studio 不与模拟器通信
- r - 查找包含R中行的最大值的所有列的索引?
- python - Python 3.6 请求 SSLerror “读取时出现意外的 eof”
- java - 无论请求中指定的字符集如何,都需要以通用模式存储字节
- vb.net - 在starting.exe 中发生了“System.NotImplementedException”类型的未处理异常
- c++ - 使用全局运算符向作用域枚举添加特定的隐式转换,特别是对于按位标志 - 坏主意?