首页 > 解决方案 > 将 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 格式的文件。我们可以在文件中执行此操作并将其保存在本地磁盘上的方式是什么?

我在任何官方文档中都没有。

标签: csvcalllogringcentral

解决方案


有很多方法可以做到这一点。如果您在此处查看此参考资料,您将看到,建议以管理员身份登录 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

推荐阅读