如何解决Nexmo API 对 Text to Speech 的更改?
很长一段时间以来,我一直在使用以下内容从我的应用程序发送 text-to-speech
警报。
curl 'https://api-us-1.nexmo.com/tts/json' \
-d api_key=****** \
-d api_secret=****** \
-d to=0035193xxxxxxx \
-d from=0035193xxxxxxx \
--data-urlencode 'text=Alert! Check Something... ' \
-d repeat=2 \
-d voice="male" \
最近,该服务已停止为某些运营商提供服务。
在查看 Nexmo 文档时,我看不到 /tts/json
API 文档。
有人知道发生了什么吗?/tts/json
API 仍然可用吗?/v1/calls
API 对我的需求来说绝对是矫枉过正。
解决方法
不幸的API是日落前一段,并与新的语音API取代。
https://developer.nexmo.com/voice/voice-api/code-snippets/make-an-outbound-call-with-ncco 将是最接近 Voice API 的替代方案。最大的变化是在切换到使用JWT用于认证与密钥/秘密AUTH使用较旧的API。
如果你有Nexmo CLI安装可以生成JWT作为脚本的一部分。以下应该有效:
#!/bin/bash
#
# Send voice message to a user
#
# ./script.sh <number to call> <vonage number> "<message to speak>"
PATH_TO_PRIVATE_KEY=<path to private key>
VONAGE_APPLICATION_ID=<application ID>
TO_NUMBER=$1
VONAGE_NUMBER=$2
MESSAGE=$3
JWT=$(nexmo jwt:generate $PATH_TO_PRIVATE_KEY application_id=$VONAGE_APPLICATION_ID)
curl -X POST https://api.nexmo.com/v1/calls\
-H "Authorization: Bearer "$JWT\
-H "Content-Type: application/json"\
-d "{\"to\":[{\"type\": \"phone\",\"number\": \"$TO_NUMBER\"}],\"from\": {\"type\": \"phone\",\"number\": \"$VONAGE_NUMBER\"},\"ncco\": [
{
\"action\": \"talk\",\"text\": \"$MESSAGE\"
}
]}"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。