隐私保护通话 PrivateNumber-AXB模式:AXB模式绑定接口
时间:2025-02-12 14:52:30
AXB模式绑定接口
1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
# -*- coding: utf-8 -*-import timeimport uuidimport hashlibimport base64import jsonimport sslimport urllib.requestimport hmacfrom hashlib import sha256# 必填,请参考"开发准备"获取如下数据,替换为实际值realUrl = 'https://rtcpns.cn-north-1.myhuaweicloud.com/rest/caas/relationnumber/partners/v1.0' #APP接入地址+接口访问URIAPP_KEY = "a1********" #APP_KeyAPP_SECRET = "cfc8********" #APP_SecretrelationNum = '+86170****0001' #X号码(隐私号码)callerNum = '+86186****5678' #A号码calleeNum = '+86186****5679' #B号码'''选填,各参数要求请参考"AXB模式绑定接口"'''# areaCode = '0755' #需要绑定的X号码对应的城市码# callDirection = 0 #允许呼叫的方向# duration = 86400 #绑定关系保持时间,到期后会被系统自动解除绑定关系# recordFlag = 'false' #是否需要针对该绑定关系产生的所有通话录音# recordHintTone = 'recordHintTone.wav' #设置录音提示音# maxDuration = 60 #设置允许单次通话进行的最长时间,通话时间从接通被叫的时刻开始计算# lastMinVoice = 'lastMinVoice.wav' #设置通话剩余最后一分钟时的提示音# privateSms = 'true' #设置该绑定关系是否支持短信功能# callerHintTone = 'callerHintTone.wav' #设置A拨打X号码时的通话前等待音# calleeHintTone = 'calleeHintTone.wav' #设置B拨打X号码时的通话前等待音# preVoice = {# 'callerHintTone': callerHintTone,# 'calleeHintTone': calleeHintTone# };def buildAKSKHeader(appKey, appSecret): now = time.strftime('%Y-%m-%dT%H:%M:%SZ') #Created nonce = str(uuid.uuid4()).replace('-','') #Nonce digist = hmac.new(appSecret.encode(), (nonce + now).encode(), digestmod=sha256).digest() digestBase64 = base64.b64encode(digist).decode() #PasswordDigest return 'UsernameToken Username="{}",PasswordDigest="{}",Nonce="{}",Created="{}"'.format(appKey, digestBase64, nonce, now);def main(): # 请求Body,可按需删除选填参数 jsonData = json.dumps({ 'relationNum':relationNum,# 'areaCode':areaCode, 'callerNum':callerNum, 'calleeNum':calleeNum,# 'callDirection':callDirection,# 'duration':duration,# 'recordFlag':recordFlag,# 'recordHintTone':recordHintTone,# 'maxDuration':maxDuration,# 'lastMinVoice':lastMinVoice,# 'privateSms':privateSms,# 'preVoice':preVoice }).encode('ascii') req = urllib.request.Request(url=realUrl, data=jsonData, method='POST') #请求方法为POST # 请求Headers参数 req.add_header('Authorization', 'AKSK realm="SDP",profile="UsernameToken",type="Appkey"') req.add_header('X-AKSK', buildAKSKHeader(APP_KEY, APP_SECRET)) req.add_header('Content-Type', 'application/json;charset=UTF-8') # 为防止因HTTPS证书认证失败造成API调用失败,需要先忽略证书信任问题 ssl._create_default_https_context = ssl._create_unverified_context try: fo = open('bind_data.txt', 'a', encoding='utf-8') #打开本地文件 fo.write('绑定请求数据:' + jsonData.decode('utf-8') + '\n') #绑定请求参数记录到本地文件,方便定位问题 r = urllib.request.urlopen(req) #发送请求 print(r.read().decode('utf-8')) #打印响应结果 fo.write('绑定结果:' + str(r.read().decode('utf-8')) + '\n') #绑定ID很重要,请记录到本地文件,方便后续修改绑定关系及解绑 except urllib.error.HTTPError as e: print(e.code) print(e.read().decode('utf-8')) #打印错误信息 except urllib.error.URLError as e: print(e.reason) finally: fo.close() #关闭文件if __name__ == '__main__': main() |
support.huaweicloud.com/devg-PrivateNumber/privatenumber_01_0004.html
看了此文的人还看了
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格
推荐文章
ServerLess102