首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><Twilio/Python> jsonify调用日志

<Twilio/Python> jsonify调用日志
EN

Stack Overflow用户
提问于 2017-12-15 08:13:03
回答 2查看 220关注 0票数 1

我正在遵循Twilio教程来设置一个iOS项目。因为它需要一个后端,所以我选择了Python (我是一个iOS开发人员,对Python一无所知),所以这个问题可能是一个愚蠢的问题,但我没有合适的语法可供寻找。

目标:获取所有调用日志和会议日志,并将它们作为JSON响应返回。

我的代码:

代码语言:javascript
复制
@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属性。

代码语言:javascript
复制
{
  "calls": [
    "CAxxx",
    "CAxxx",
  ],
  "conferences": [
    "CFxxx",
    "CFxxx",
  ]
}

但是我想从Twilio (参考:https://www.twilio.com/docs/api/voice/conference)获得每个记录的完整细节,如这个示例的output选项卡中所示(参考: JSONify ),当我尝试记录时,它说它不能使用这种类型的对象。

我知道我应该将对象转换为模型并附加它,但是我如何做到这一点呢?任何链接或线索,以帮助使这一分类是非常感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-19 08:38:55

两位开发人员在这里传道。

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

例如,要使用Python的呼叫清单获得请求库,您可以执行如下操作:

代码语言:javascript
复制
@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

如果这有帮助的话请告诉我。

票数 0
EN

Stack Overflow用户

发布于 2017-12-15 11:04:28

您需要创建一个具有所需值的字典列表。就像这样:

代码语言:javascript
复制
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)

这应该会给你以下的答复:

代码语言:javascript
复制
{
  "calls": [
    {
      "accound_sid": "1234", 
      "api_version": "2010-04-01", 
      "date_created": "Wed, 18 Aug 2010 20:20:06 +0000", 
      "etc": "etc", 
    },
    {
      "accound_sid": "4321", 
      "api_version": "2010-04-01", 
      "date_created": "Wed, 18 Aug 2010 20:20:06 +0000", 
      "etc": "etc", 
    }
  ]
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47828222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档