阿里大于最近更改了接口,对于最新的接口没有 gem,顺手写了一个。 gem 中除了封装发送短信接口外,还提供了用于签名的 POP 协议的签名方法。 发送短信方法: 步骤 1 设置 access_key_id 和 access_key_secret
Alidayu.access_key_id = 'YOUR ACCESS KEY ID'
Alidayu.access_key_secrete = 'YOUR ACCESS KEY SECRET'
步骤 2 发送短信
Alidayu.send_text_message({
PhoneNumbers: '手机号码',
TemplateParam: {code: '1234'}, //模版参数和模版设置相关,我的模版content为'您的验证码${code}'
SignName: '短信签名',
TemplateCode: 'template code'})
除此之外可以用与对参数进行 POP 签名,根据官方文档的签名例子,最终签名为zJDF+Lrzhj/ThnlvIToysFRq6t4=
Alidayu.access_key_id = 'testId'
Alidayu.access_key_secrete = 'testSecret'
signature_params = {
Timestamp: '2017-07-12T02:42:19Z',
SignatureMethod: 'HMAC-SHA1',
SignatureVersion: '1.0',
SignatureNonce: '45e25e9b-0a6f-4070-8c85-2956eda1b466',
Action: 'SendSms',
Version: '2017-05-25',
RegionId: 'cn-hangzhou',
PhoneNumbers: '15300000001',
SignName: '阿里云短信测试专用',
TemplateCode: 'SMS_71390007',
TemplateParam: "{\"customer\":\"test\"}",
Format: 'XML',
OutId: '123'}
signature = Alidayu.get_signature signature_params
get_signature 的返回值经过一次 Base64 得到zJDF%2BLrzhj%2FThnlvIToysFRq6t4%3D