X-Sign
计算方法voice
字段X-Appid
+ X-Timestamp
+ voice
hmac_sha256
加密算法对(2)中的字符串进行加密,并得到base64格式的签名(因为hmac一般得到的是二进制字节流),做为 X-Sign
。hmac_sha256
的密钥来自于使用翻译开放平台分配的密钥,(可在 管理控制台 - 开发者信息获得)appid = '2015063000000001' # 请替换为您的APP ID
timestamp = '1646034877' # 10位Unix时间戳
voice_bytes = b'00010101011101010101'
secret_key = 'XWG7Gyj' # 翻译开放平台分配的密钥
# step1: base64编码音频文件
voice = base64encode(voice_bytes)
# step2: 得到待加密的字符串
msg = appid + timestamp + voice
# step3: 加密得到签名,作为`X-Sign`。若hmac得到的是二进制字节,需要进行base64编码
sign = base64encode(hmac_sha256(secret=secret_key, message=msg))
curl --location --request POST 'https://fanyi-api.baidu.com/api/trans/v2/voicetrans' \
--header 'Content-Type: application/json' \
--data-raw '{
"from": "en",
"to": "zh",
"format":"pcm",
"voice": "W3NvdXJjZSBhdWRpbyBieXRlc10K"
}'
{
"code": 0,
"msg": "Success",
"data": {
"source": "今天天气不错。",
"target": "It's a nice day today.",
"target_tts": "W2F1ZGlvIGJ5dGVzXQo="
}
}