golang调用aliyun的语音通话服务,复制直接使用

本文档介绍了如何使用Golang调用阿里云的语音通话服务,特别是SingleCallByTts接口来发送语音验证码或文本转语音通知。首先,需遵循官方文档完成准备工作并获取AccessKeyId和AccessKeySecret。然后,利用阿里云语音SDK-Go版本进行集成,确保Go环境至少为1.10.x,并安装SDK核心库。
摘要由CSDN通过智能技术生成

通过API使用语音通知/语音验证码——阿里云官方文档

https://help.aliyun.com/zh/vms/getting-started/through-the-api-or-sdk-using-voice-notification-or-audio-captcha?spm=a2c4g.11186623.0.0.6fe26717nbGVPS

SingleCallByTts - 发送语音验证码或文本转语音类型的语音通知

https://help.aliyun.com/zh/vms/developer-reference/api-dyvmsapi-2017-05-25-singlecallbytts?spm=a2c4g.11186623.0.i22

入门流程

大家一定要看上面的官方文档啊,准备工作做好了以后才能拿到需要的参数,这里我就不贴图展示了,文档里挺详细的。
我们主要关注这个接口文档:https://help.aliyun.com/zh/vms/developer-reference/api-dyvmsapi-2017-05-25-singlecallbytts?spm=a2c4g.11186623.0.i22

主要参数

AccessKeyId,AccessKeySecret 的获取方式——鼠标放置右上角头像——AccessKey管理

  1. AccessKeyId
  2. AccessKeySecret
  3. TtsCode 文本转语音模板或语音验证码模板的模板ID
  4. TtsParam 语音模板中的变量参数
  5. CalledNumber 接收语音通知或语音验证码的被叫号码

引入阿里云语音官方SDK-go版本

官方文档地址:
https://api.aliyun.com/api-tools/sdk/Dyvmsapi?spm=api-workbench.api_explorer.0.0.128f30d62mEAa0&version=2017-05-25&language=go-tea&tab=primer-doc
环境要求

  • Go 环境版本必须不低于 1.10.x
  • 安装 SDK 核心库 OpenAPI
go get github.com/alibabacloud-go/darabonba-openapi/v2/client

安装方式

go get github.com/alibabacloud-go/dyvmsapi-20170525/v4

完整代码

package main

import (
  "encoding/json"
  "strings"
  "fmt"
  "os"
  dyvmsapi20170525  "github.com/alibabacloud-go/dyvmsapi-20170525/v4/client"
  openapi  "github.com/alibabacloud-go/darabonba-openapi/v2/client"
  util  "github.com/alibabacloud-go/tea-utils/v2/service"
  "github.com/alibabacloud-go/tea/tea"
)


// Description:
// 
// 使用AK&SK初始化账号Client
// 
// @return Client
// 
// @throws Exception
func CreateClient (
以下是使用Golang和阿里云短信平台发送短信验证码的示例代码: ```go package main import ( "crypto/hmac" "crypto/sha1" "encoding/base64" "fmt" "io/ioutil" "math/rand" "net/http" "net/url" "sort" "strings" "time" ) func main() { // 阿里云短信平台的请求参数 params := url.Values{} params.Set("PhoneNumbers", "17633802772") // 手机号码 params.Set("SignName", "阿里云短信测试专用") // 签名名称 params.Set("TemplateCode", "SMS_123456789") // 模板CODE params.Set("TemplateParam", "{\"code\":\"123456\"}") // 模板参数 // 发送短信验证码 sendSms(params) } // 发送短信验证码 func sendSms(params url.Values) { // 阿里云短信平台的请求参数 accessKeyId := "your_access_key_id" // 替换为你的AccessKeyId accessSecret := "your_access_secret" // 替换为你的AccessKeySecret params.Set("AccessKeyId", accessKeyId) params.Set("SignatureMethod", "HMAC-SHA1") params.Set("SignatureNonce", fmt.Sprintf("%d", rand.Int63())) params.Set("SignatureVersion", "1.0") params.Set("Timestamp", time.Now().UTC().Format("2006-01-02T15:04:05Z")) // 对参数进行排序 var keys []string for k := range params { keys = append(keys, k) } sort.Strings(keys) // 构造待签名的字符串 var signStrings []string for _, k := range keys { signStrings = append(signStrings, url.QueryEscape(k)+"="+url.QueryEscape(params.Get(k))) } signString := strings.Join(signStrings, "&") // 计算签名 stringToSign := "GET&%2F&" + url.QueryEscape(signString) hmacKey := []byte(accessSecret+"&") hmacSha1 := hmac.New(sha1.New, hmacKey) hmacSha1.Write([]byte(stringToSign)) signBytes := hmacSha1.Sum(nil) sign := base64.StdEncoding.EncodeToString(signBytes) params.Set("Signature", sign) // 发送请求 url := "https://dysmsapi.aliyuncs.com/?" + params.Encode() resp, err := http.Get(url) if err != nil { fmt.Println("发送短信验证码失败:", err) return } defer resp.Body.Close() // 处理响应 body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println("发送短信验证码失败:", err) return } fmt.Println("发送短信验证码成功:", string(body)) } ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值