阿里雲語音服務接口
語音產品相關的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即可
我們實際只使用到
#!/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'))
阿里雲短信服務接口
https://help.aliyun.com/document_detail/55491.html?spm=a2c4g.11186623.6.616.fbfa6540keFjAB
# -*- coding: utf-8 -*- import sys from aliyunsdkdysmsapi.request.v20170525 import SendSmsRequest from aliyunsdkdysmsapi.request.v20170525 import QuerySendDetailsRequest from aliyunsdkcore.client import AcsClient import uuid from aliyunsdkcore.profile import region_provider from aliyunsdkcore.http import method_type as MT from aliyunsdkcore.http import format_type as FT import const """ 短信業務調用接口示例,版本號:v20170525 Created on 2017-06-12 """ try: reload(sys) sys.setdefaultencoding('utf8') except NameError: pass except Exception as err: raise err # 注意:不要更改 REGION = "cn-hangzhou" PRODUCT_NAME = "Dysmsapi" DOMAIN = "dysmsapi.aliyuncs.com" acs_client = AcsClient(const.ACCESS_KEY_ID, const.ACCESS_KEY_SECRET, REGION) region_provider.add_endpoint(PRODUCT_NAME, REGION, DOMAIN) def send_sms(business_id, phone_numbers, sign_name, template_code, template_param=None): smsRequest = SendSmsRequest.SendSmsRequest() # 申請的短信模板編碼,必填 smsRequest.set_TemplateCode(template_code) # 短信模板變量參數 if template_param is not None: smsRequest.set_TemplateParam(template_param) # 設置業務請求流水號,必填。 smsRequest.set_OutId(business_id) # 短信簽名 smsRequest.set_SignName(sign_name) # 數據提交方式 # smsRequest.set_method(MT.POST) # 數據提交格式 # smsRequest.set_accept_format(FT.JSON) # 短信發送的號碼列表,必填。 smsRequest.set_PhoneNumbers(phone_numbers) # 調用短信發送接口,返回json smsResponse = acs_client.do_action_with_exception(smsRequest) # TODO 業務處理 return smsResponse if __name__ == '__main__': __business_id = uuid.uuid1() #print(__business_id) params = "{\"code\":\"12345\",\"product\":\"雲通信\"}" #params = u'{"name":"wqb","code":"12345678","address":"bz","phone":"13000000000"}' print(send_sms(__business_id, "13000000000", "雲通信測試", "SMS_5250008", params))