我已经设置了一个Twilio / Python应用程序,可以进行呼叫,在双通道上记录这些呼叫,并将它们发送到Voicebase进行转录。有谁知道如何从Voicebase API获取JSON响应,并将其存储在数据库中? (例如SQL或PostGreSQL。)我仍然无法以不使用CURL在我的终端中为每个单独录制的方式获取转录,因此非常感谢任何帮助。
由于
答案 0 :(得分:1)
来自VoiceBase支持的Hello,以下是您要求的功能的一些示例响应:
从VoiceBase API获取JSON响应
以下是一些示例代码,使用请求库使用您的Bearer Token($ TOKEN)提交指定$ MEDIAID的GET请求
import requests
import json
url = "https://apis.voicebase.com/v2-beta/media/$MEDIAID"
payload = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"transcript\"\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--"
headers = {
'content-type': "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW",
'authorization': "Bearer $TOKEN",
'cache-control': "no-cache"
}
response = requests.request("GET", url, data=payload, headers=headers)
print(response.text)
解析成绩单:
此示例代码使用JSON库将键/值对加载到字典中以进行解析
transcript = json.loads(response.text)
job_status = transcript['media']['status']
保存到数据库
此代码将使用MySQLdb打开与数据库的连接并保存值(在本例中为job_status)
import MySQLdb
db = MySQLdb.connect("localhost","user","password","database")
cursor = db.cursor()
query = "INSERT INTO table VALUES (%s)"
cursor.execute(query, (job_status))
db.commit()
db.close()
答案 1 :(得分:0)
将来我会建议您发布代码和问题。这对每个人来说都容易得多,如果他们能够看到你已经自己动手了,那么人们就更有可能帮助你。
如果您的python应用程序已经提交了转录录音,那么您可以在服务器上指定一个回调URL,而不是轮询每个录音的结果,VoiceBase会在每次转录完成后提交转录数据。根据他们的文档,您可以在提交音频时以JSON的形式请求响应数据。
我一直使用PHP,所以我没有使用python web框架的经验,但是在回调URL上运行的一些基本服务器端代码(使用Django可能?)可能会处理VoiceBase数据并将其保存到数据库或随你。在PHP中,您可以使用少量代码来实现这一点。
可能值得看看VoiceBase为Twilio集成提供的指南,因为它们有一些似乎相关的例子。你可以找到它here。