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 应 ...
随机推荐
- kylin-cube存储结构
前言 本篇文章通过图文的方式分析不同维度组合下的cube在hbase中的存储结构 需要声明的是,kylin不存原始数据,存储cube 全维度构建 假设一张表有3个字段name,age,sex,那么当通 ...
- Coursera SDN M1.2.1 SDN History: Programmable Networks 1
接上第二点 NOTE (2)active networks => Programmability in networks(1990s) Sturcture: What are active ne ...
- sonar runner的配置
#Configure here general information about the environment, such as SonarQube DB details for example ...
- HashMap put方法
HashMap的put方法执行过程可以通过下图来理解,自己有兴趣可以去对比源码更清楚地研究学习. ①.判断键值对数组table[i]是否为空或为null,否则执行resize()进行扩容: ②.根据键 ...
- a href 属性
两种用法: 页面跳转时使用 url (部分浏览器会阻止新窗口弹出页面),其他情况一律遵循 ‘结构样式行为分离’ 1. url href="#" 文档顶部 ...
- 【安全测试】安全测试威胁建模设计方法STRIDE
背景 目前安全测试一般都存在如下问题: 安全测试人员不懂业务,业务测试人员不懂安全,安全测试设计出现遗漏是无法避免的 安全测试点繁多复杂,单点分析会导致风险暴露,不安全 目前的状态: TR2阶段测试人 ...
- Tensorflow一些常用基本概念与函数(一)
1.tensorflow的基本运作 为了快速的熟悉TensorFlow编程,下面从一段简单的代码开始: import tensorflow as tf #定义‘符号’变量,也称为占位符 a = tf. ...
- Java Spring-Bean中属性注入
2017-11-06 20:29:13 类属性的注入的三种方法 1.接口方法注入 public interface injection{ public void setName(String name ...
- FastJson中文乱码
初学springboot使用fastJson替换默认的jackson后出现中文乱码 解决方式1: import java.util.ArrayList; import java.util.List; ...
- windows下搭建svn服务器及权限配置
服务器端VISUALSVN SERVER 3.3.1 下载地址 https://www.visualsvn.com/server/download/ 客户端TortoiseSVN 1.8.13下载地址 ...