将 RingCentral 通话记录导出为 CSV 的方法

Ways to export RingCentral call log as CSV

通话记录可以使用RingCentral API获取,可以使用日期To (dateTo) and From[过滤=28=] (dateFrom).

我已经通过 API 参考获取通话记录 API here

我们可以看到下面的API是用来获取所有通话记录的:

https://platform.devtest.ringcentral.com/restapi/v1.0/account/~/extension/~/call-log

但是我们需要将此日志导出为 CSV 格式的文件。有什么方法可以做成一个文件然后保存到本地盘?

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

有很多方法可以做到。如果您检查此参考 here you will see, it is suggested to log into RingCentral Online Account Portal (https://service.ringcentral.com) 作为管理员查看您的通话记录数据,并将每一页下载到一个单独的 csv 中。

另一个参考[​​=12=]建议使用编程语言调用通话记录API并将其保存为本地文件。

示例,使用 Node JS 并且可以 运行 在您的机器上本地运行。您需要做的就是登录开发者门户并创建一个具有读取通话记录权限的应用程序。应用程序平台类型仅为服务器(无 UI)。 Client ID和Client Secret可以用在link 给出的示例代码。

代码片段:

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