阿里云短信服务接口`.Net Core`轻量版
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
AliyunSms.cs
LICENSE
Program.cs
README.md
SignatureHelper.cs
aliyun-openapi-sdk-lite.csproj
aliyun-openapi-sdk-lite.sln

README.md

阿里云短信服务接口.Net Core轻量版

前言

项目环境使用 .NET Core 2.0,由于阿里云官方SDK目前(2018-01-12)版本尚未支持 .NET Core 环境,github 找到 aliyun-openapi-sdk-net-core,经测试使用的SDK已是旧版本,无法正常工作了。

阿里云官方SDK回复下个版本支持 .NET Core 环境。

说明

由于并未阅读官方接口文档,本项目主要参考阿里云官方PHPSDK轻量版,改写为 .NET Core 2.0 版本,经测试运行正常,其中加密等方法均参考官方SDK。(详见参考和引用部分)

环境要求

  • 支持 .Net Core 2.0 及以上版本;
  • 直接复制代码文件即可,或自行改为单文件版本。

示例

    /// <summary>
    /// 阿里云短信
    /// https://www.aliyun.com/product/sms?spm=5176.8142029.388261.321.3836dbccTHaG24
    /// </summary>
    public class AliyunSms
    {
        public static string SendSms()
        {
            // *** 需用户填写部分 ***

            //fixme 必填: 请参阅 https://ak-console.aliyun.com/ 取得您的AK信息
           
            string accessKeyId = "your access key id";//你的accessKeyId,参考本文档步骤2
            string accessKeySecret = "your access key secret";//你的accessKeySecret,参考本文档步骤2

            Dictionary<string, string> smsDict = new Dictionary<string, string>();

            //fixme 必填: 短信接收号码
            smsDict.Add("PhoneNumbers", "17000000000");

            //fixme 必填: 短信签名,应严格按"签名名称"填写,请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign
            smsDict.Add("SignName", "短信签名");

            //fixme 必填: 短信模板Code,应严格按"模板CODE"填写, 请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/template

            smsDict.Add("TemplateCode", "SMS_0000001");
            
            // fixme 可选: 设置模板参数, 假如模板中存在变量需要替换则为必填项
            smsDict.Add("TemplateParam", JsonConvert.SerializeObject(new { code = "12345", product = "阿里云短信" }));

            //什么?Newtonsoft.Json也觉得重,那拼字符串好了
            //smsDict.Add("TemplateParam", "{\"appname\":\"微关爱\",\"appstorename\":\"小黑\"}");



            // *** 以下内容无需修改 ***
            smsDict.Add("RegionId", "cn-hangzhou");
            smsDict.Add("Action", "SendSms");
            smsDict.Add("Version", "2017-05-25");

            string domain = "dysmsapi.aliyuncs.com";//短信API产品域名(接口地址固定,无需修改)

            // 初始化SignatureHelper实例用于设置参数,签名以及发送请求
            var singnature = new SignatureHelper();

            return singnature.Request(accessKeyId, accessKeySecret, domain, smsDict);

        }

参考和引用

Authors

yaosansi

License

licensed under the Apache License 2.0