python3调用阿里云语音服务
步骤 1 创建阿里云账号,包括语音服务里的企业实名
为了访问语音服务,您需要有一个阿里云账号。如果没有,可首先按照如下步骤创建阿里云账号:
- 访问阿里云 官方网站,单击页面上的 免费注册 按钮。
- 按照屏幕提示完成注册流程并进行企业实名认证语音服务只支持企业实名认证用户使用。为了更好地使用阿里云服务,建议尽快完成实名认证,否则部分阿里云服务将无法使用。具体实名认证流程,请参考 这里
步骤 2 获取阿里云访问密钥
需要设置为AliyunDyvmsFullAccess,管理语音服务(VMS)的权限。
步骤 3 在控制台完成号码与模板的申请,获得调用接口必备的参数
在“语音号码”页面完成资质的申请,号码的购买
在“文本转语音模板”页面完成模板申请,或,在“语音通知文件”页面完成文件上传
入参列表
参数名称 | 参数类型 | 必填与否 | 样例取值 | 参数说明 |
---|---|---|---|---|
CalledShowNumber | String | 必须 | 4001112222 | 被叫显号 |
CalledNumber | String | 必须 | 13700000000 | 被叫号码 |
TtsCode | String | 必须 | TTS_10001 | TTS文本模板Code |
TtsParam | String | 可选 | {“AckNum”:”123456”} | 替换TTS模板中变量的JSON串 |
OutId | String | 可选 | abcdefgh | 预留给调用方使用的ID, 最终会通过在回执消息中将此ID带回给调用方 |
出参列表
出参名称 | 出参类型 | 样例取值 | 参数说明 |
---|---|---|---|
RequestId | String | 8906582E-6722 | 请求ID |
Code | String | OK | 状态码-返回OK代表请求成功,其他错误码详见错误码列表 |
Message | String | 请求成功 | 状态码的描述 |
CallId | String | 134523^4351232 | 调用的回执ID |
下载的SDK和DEMO包里,
语音产品相关的SDK及DEMO程序
文件清单:
- api_demo(语音服务API接口调用DEMO工程)
- api_sdk(语音服务API接口依赖的SDK)
- msg_demo(语音回执消息的DEMO)
- msg_sdk(语音回执消息的SDK)
对于我们来说,只要用到api_demo文件夹即可。里面的aliyun-python-sdk-core也没用,这个是给python2安装sdk用的;
对于我们python3来说,直接安装核心库pip install aliyun-python-sdk-core-v3即可
我们实际只使用到
文本转语音外呼API(SingleCallByTts)----TTS方式
代码如下:
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#Author:lzd # import sys
import importlib,sys
from aliyunsdkdyvmsapi.request.v20170525 import SingleCallByTtsRequest
# from aliyunsdkdyvmsapi.request.v20170525 import SingleCallByVoiceRequest
from aliyunsdkcore.client import AcsClient
import uuid
from aliyunsdkcore.profile import region_provider """
语音业务调用接口示例,版本号:v20170525 Created on 2017-06-12 @author: seven
""" # reload(sys)
importlib.reload(sys)
# sys.setdefaultencoding('utf8') # 注意:不要更改
REGION = "cn-hangzhou"
PRODUCT_NAME = "Dyvmsapi"
DOMAIN = "dyvmsapi.aliyuncs.com" # ACCESS_KEY_ID/ACCESS_KEY_SECRET 根据实际申请的账号信息进行替换
ACCESS_KEY_ID = "xxxxxxxxxxxxxx"
ACCESS_KEY_SECRET = "xxxxxxxxxxxxxxxx" acs_client = AcsClient(ACCESS_KEY_ID, ACCESS_KEY_SECRET, REGION)
region_provider.add_endpoint(PRODUCT_NAME,REGION,DOMAIN) def tts_call(business_id, called_number, called_show_number, tts_code, tts_param=None):
ttsRequest = SingleCallByTtsRequest.SingleCallByTtsRequest()
# 申请的语音通知tts模板编码,必填
ttsRequest.set_TtsCode(tts_code)
# 设置业务请求流水号,必填。后端服务基于此标识区分是否重复请求的判断
ttsRequest.set_OutId(business_id)
# 语音通知的被叫号码,必填。
ttsRequest.set_CalledNumber(called_number)
# 语音通知显示号码,必填。
ttsRequest.set_CalledShowNumber(called_show_number)
# tts模板变量参数
if tts_param is not None:
ttsRequest.set_TtsParam(tts_param)
# 调用tts文本呼叫接口,返回json
ttsResponse = acs_client.do_action_with_exception(ttsRequest) # TODO 业务处理 return ttsResponse __name__ = 'tts'
if __name__ == 'tts':
__business_id = uuid.uuid1()
print(__business_id)
params = "{\"weizhi\":\"杭州机房\",\"name\":\"测试服务器\",\"title\":\"测试\"}"
print((tts_call(__business_id, "13900000000", "0125456655", "TTS_4564654", params)).decode(encoding='utf-8'))
python3调用阿里云语音服务的更多相关文章
- python3调用阿里云短信服务
#!/usr/bin/env python#-*- coding:utf-8 -*-#Author:lzd import uuidimport datetimeimport hmacimport ba ...
- Java调用阿里云短信通道服务【千锋】
这里我们使用SpringBoot 来调用阿里通信的服务. 阿里通信,双11.收到短信,日发送达6亿条.保障力度非常高. 使用的步骤: 1.1. 第一步:需要开通账户 1.2. 第二步:阅读接口文档 1 ...
- 零基础大数据入门教程:Java调用阿里云短信通道服务
这里我们使用SpringBoot 来调用阿里通信的服务. 阿里通信,双11.收到短信,日发送达6亿条.保障力度非常高. 使用的步骤: 1.1. 第一步:需要开通账户 1.2. 第二步:阅读接口文档 1 ...
- C#调用阿里云CDN API刷新缓存
使用CDN必须要解决CDN缓存的问题,要么在每次更新文件时生成不同的URL,要么在每次更新文件时刷新CDN缓存.我们在一个实际应用场景中用到了后者,所以需要调用阿里云CDN的API进行缓存刷新的操作. ...
- 使用Node.js调用阿里云短信的发送以及接收
为了使用Node.js调用阿里云短信服务,我自己写了个npm包, 目前实现了: 使用Node.js调用阿里云短信服务,发送短信: 使用Node.js调用阿里云短信服务以及MNS服务,接收用户上行短信 ...
- 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
摘要: 全球开源区块链领域影响最为广泛的Hyperledger Fabric日前宣布了1.1版本的正式发布,带来了一系列丰富的新功能以及在安全性.性能与扩展性等方面的显著提升.阿里云容器服务区块链解决 ...
- 在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用
本文为阿里云容器服务Spring Cloud应用开发系列文章的第一篇. 一.在阿里云容器服务上开发Spring Cloud微服务应用(本文) 二.部署Spring Cloud应用示例 三.服务发现 四 ...
- 杂项-分布式-EDAS:深度解析阿里云EDAS服务
ylbtech-杂项-分布式-EDAS:深度解析阿里云EDAS服务 1.返回顶部 1. 深度解析阿里云EDAS服务 弹性伸缩 摘要: 第一种只适用于业务较少的情况,而在新业务不断增加的情况下,增加新应 ...
- Knative 应用在阿里云容器服务上的最佳实践
作者|元毅 阿里云智能事业群高级开发工程师 相信通过前面几个章节的内容,大家对 Knative 有了初步的体感,那么在云原生时代如何在云上玩转 Knative?本篇内容就给你带来了 Knative 应 ...
随机推荐
- 在MyEclise中使用自己安装的tomcat
·将Tomcat配置到MyEclipse中 1.在MyEclipse中打开Window子选项Preferences: 2.在Preferences面板中,点击左边选项中的MyEclipse,找到Ser ...
- 数论练习(4)——同余方程(扩gcd)
CODEVS 1200 同余方程 题目描述 Description 求关于 x 同余方程 ax ≡ 1 (mod b)的最小正整数解. 输入描述 Input Description 输入只有一行,包含 ...
- 校验基于EO的VO中的字段是否发生变化
I have a table region and there are multiple records fetching from a Entity based VO. Now I have upd ...
- git 如何关联多个库
git 如何关联多个库 在本地同一个库进行操作多个库,可以把代码推送到不同的库中,可以拉取某个库指定的代码,这样更加灵活使用 git remote 查看远程主机名 git remote -v // λ ...
- 【hive】cube和rollup函数
cube 数据立方体(Data Cube),是多维模型的一个形象的说法.(关于多维模型这里不讲述,在数据仓库设计过程中还挺重要的,有兴趣自行查阅) 立方体其本身只有三维,但多维模型不仅限于三维模型,可 ...
- JS之Iterations
for in.for of.for each in 1.for in:用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作),for ... in 循环中的代码每执行一次,就会对数组的元素或者 ...
- 各种liunx发行版本包管理器对比
关于Ubuntu安装软件问题:apt-get和dpkg区别? 两者的区别是dpkg绕过apt包管理数据库对软件包进行操作,所以你用dpkg安装过的软件包用apt可以再安装一遍,系统不知道之前安装过了, ...
- facade外观模式
通过买股票与通过基金买股票引出外观模式: package com.disign.facade; /** * Created by zhen on 2017-05-18. */ public class ...
- Python3.5 源码安装 Ubuntu16.04环境
安装源码编译所需的各种依赖库:(Ubuntu16.04环境下) sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-de ...
- 如何解决VC "应用程序无法启动,因为应用程序的并行配置不正确 sxstrace.exe"问题
引用链接 http://blog.csdn.net/pizi0475/article/details/7790992 应用程序事件日志中: “C:\windows\system32\test.exe” ...