<twilio python =“”> jsonify通话记录

时间:2017-12-15 08:13:04

标签: python api twilio twilio-api

我正在按照Twilio教程设置iOS项目。因为它需要一个后端,所以我选择了Python(我是一个关于Python的'零'知识的iOS开发人员)所以问题可能是一个愚蠢的问题,但我没有得到正确的语法来寻找。

目的: 获取所有呼叫日志和会议日志&amp;将它们作为JSON响应返回。

我的代码:

@app.route('/getRecordings', methods=['GET'])
def getRecordings():
    client = Client(ACCOUNT_SID, ACCOUNT_AUTH_TOKEN)
    recordings = []
    for record in client.calls.list():
        recordings.append(record.sid)
    conferences = []
    for conf in client.conferences.list():
        conferences.append(conf.sid)
    return jsonify(calls=recordings, conferences=conferences)

响应: 我得到了正确的答案,因为我只附加了每次调用的SID属性。

{
  "calls": [
    "CAxxx",
    "CAxxx",
  ],
  "conferences": [
    "CFxxx",
    "CFxxx",
  ]
}

但我想获取每个记录的完整详细信息,如Twilio的此示例的输出选项卡中所示(参考:https://www.twilio.com/docs/api/voice/conference) 当我尝试JSONify记录时,它说它不能JSON化这种类型的对象。

我知道我应该将对象转换为模型并附加它,但我该怎么做呢?非常感谢任何帮助获得此排序的链接或潜在客户。

2 个答案:

答案 0 :(得分:1)

您需要创建具有所需值的词典列表。像这样:

chan map[string]string

那应该给你一个如下答案:

for record in client.calls.list():
    call = {"account_sid": record.account_sid, "api_version": record.api_version, "date_created": record.date_created, "etc": record.etc}
    recordings.append(call)

答案 1 :(得分:0)

Twilio开发者传道者在这里。

如果您希望将完整的JSON响应代理到您的应用程序,那么您可能会发现更容易避免使用Twilio库并只是向JSON API端点发出请求并直接发送响应。

例如,要使用Python list of calls获取Requests library,您可以执行以下操作:

@app.route('/getCalls', methods=['GET'])
def getCalls():
  url = 'https://api.twilio.com/2010-04-01/Accounts/YOUR_ACCOUNT_SID/Calls/.json'
  request = requests.get(url, auth=(YOUR_ACCOUNT_SID, YOUR_AUTH_TOKEN)

  resp = Response(response=request.text,
                  status=200,
                  mimetype="application/json")
  return resp

让我知道这是否有帮助。