Go阿里云发送短信

# 安装

使用 go get 下载安装 SDK

go get -u github.com/aliyun/alibaba-cloud-sdk-go/sdk

# 快速使用

在您开始之前,您需要注册阿里云帐户并获取您的 凭证

# 创建客户端

package main

import "github.com/aliyun/alibaba-cloud-sdk-go/sdk"

func main() {
  client, err := sdk.NewClientWithAccessKey("REGION_ID", "ACCESS_KEY_ID", "ACCESS_KEY_SECRET")
  if err != nil {
    // Handle exceptions
    panic(err)
  }
}

# ROA 请求

package main

import "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"

func main() {
  request := requests.NewCommonRequest()        // 构造一个公共请求
  request.Method = "GET"                        // 设置请求方式
  request.Product = "CS"                        // 指定产品
  request.Domain = "cs.aliyuncs.com"            // 指定域名则不会寻址,如认证方式为 Bearer Token 的服务则需要指定
  request.Version = "2015-12-15"                // 指定产品版本
  request.PathPattern = "/clusters/[ClusterId]" // 指定ROA风格路径规则
  request.ApiName = "DescribeCluster"           // 指定接口名
  request.QueryParams["ClusterId"] = "123456"   // 设置参数值
  request.QueryParams["RegionId"] = "region_id" // 指定请求的区域,不指定则使用客户端区域、默认区域
  request.TransToAcsRequest()                   // 把公共请求转化为acs请求
}

# RPC 请求

package main

import "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"

func main() {
  request := requests.NewCommonRequest()                // 构造一个公共请求
  request.Method = "POST"                               // 设置请求方式
  request.Product = "Ecs"                               // 指定产品
  request.Domain = "ecs.aliyuncs.com"                   // 指定域名则不会寻址,如认证方式为 Bearer Token 的服务则需要指定
  request.Version = "2014-05-26"                        // 指定产品版本
  request.ApiName = "CreateInstance"                    // 指定接口名
  request.QueryParams["InstanceType"] = "ecs.g5.large"  // 设置参数值
  request.QueryParams["RegionId"] = "region_id"         // 指定请求的区域,不指定则使用客户端区域、默认区域
  request.TransToAcsRequest()                           // 把公共请求转化为acs请求
}

# 示例代码

package main

import (
	"fmt"
	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
	"github.com/aliyun/alibaba-cloud-sdk-go/services/dysmsapi"
)

func main(){
	client, err := dysmsapi.NewClientWithAccessKey("cn-beijing", "xxxx", "xxx")
	if err != nil {
		panic(err)
	}
	request := requests.NewCommonRequest()
	request.Method = "POST"
	request.Scheme = "https" // https | http
	request.Domain = "dysmsapi.aliyuncs.com"
	request.Version = "2017-05-25"
	request.ApiName = "SendSms"
	request.QueryParams["RegionId"] = "cn-beijing"
	request.QueryParams["PhoneNumbers"] = "xxx"                         //手机号
	request.QueryParams["SignName"] = "xxx"                               //阿里云验证过的项目名 自己设置
	request.QueryParams["TemplateCode"] = "xxx"       //阿里云的短信模板号 自己设置
	request.QueryParams["TemplateParam"] = "{\"code\":" + "777777" + "}" //短信模板中的验证码内容 自己生成   之前试过直接返回,但是失败,加上code成功。
	response, err := client.ProcessCommonRequest(request)
	fmt.Print( client.DoAction(request, response))
	//  fmt.Print(response)
	if err != nil {
		fmt.Print(err.Error())
	}
	fmt.Printf("response is %#v\n", response)
	//json数据解析
}
Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计