Java版阿里云通信短信发送API接口实例(1)

简介: Java版阿里云通信短信发送API接口实例(新)

阿里云通信(原名阿里大于)的短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力,支持快速发送短信验证码、短信通知等。 完美支撑双11期间2亿用户,发送6亿短信。三网合一专属通道,与工信部携号转网平台实时互联。电信级运维保障,实时监控自动切换,到达率高达99%。

具体阿里大于是什么时候改版到阿里云通信的,不是太清楚,反正以前的短信发送验证码、短信通知的接口最近用不了了(提示的错误见下面的日志),于是只能根据阿里云通信提供的API对接口重新改版。


ERROR com.taobao.api.internal.util.TaobaoLogger: 2017-12-08 12:09:52.181^_^****^_^alibaba.aliqin.fc.sms.num.send^_^172.19.38.254^_^Windows Server 2012 R2^_^46^_^http://gw.api.taobao.com/router/rest^_^^_^{"error_response":{"code":11,"msg":"Insufficient isv permissions","sub_code":"isv.permission-api-package-limit","sub_msg":"scope ids is 11022 11600 11863","request_id":"rxn0ipvhba2f"}}


发现错误后的第一反应当然是根据错误信息去找原因:


Insufficient isv permissions:开发者权限不足

isv.permission-api-package-limit:没有和任何访问包关联,建议根据业务规则申请对应的权限


这样的解释似乎并不能帮助我们解决掉问题?


接下来的做法,当然是去看阿里云通信官方给出的API,等待把Java版的短信产品相关的SDK及DEMO程序下载到本地后,我明白了。


新的jar包


aliyun-java-sdk-core-3.3.1.jar

aliyun-java-sdk-dysmsapi-1.0.0.jar

原来调用的jar包


taobao-sdk-java-auto_1455552377940-20160607.jar

sdk已经发生了变化,当然旧版的短信接口99%是用不了的。


那么新版的阿里云通信短信发送API该怎么调用呢?


1)创建阿里云账号


2)获取阿里云访问密钥


image.png


3)在控制台完成模板与签名的申请,获得调用接口必备的参数


image.png


添加模板的时候,请一定要注意,模板的格式是需要一定规则的,后面编写Java代码时需要进行匹配,举例如下:


image.png


${code}在后面调用阿里云API的时候要传递。


image.png


${username}和${password}同样在后面调用阿里云API的时候要传递。


模板提交后,阿里云通信会在2个小时候内审批,审批完成后就可以看到模板CODE,该参数在后面调用API的时候同样是必须的。


4)下载Java版的SDK


如果你使用的是maven,阿里提供的方式是:


如果你们公司有自己搭建仓库,可以把SDK里面提供的本地jar上传上去即可

或者你走你的本地jar依赖方式


<dependency>
<groupId>*</groupId>
<artifactId>*</artifactId>
<version>*</version>
<systemPath>${project.basedir}/lib/*.jar</systemPath>
</dependency>
<scope> compile</scope>


如果是常规的Java或者Javaweb项目(直接放在WEB-INF的lib包下),则可以把以下两个jar包引入到工程当中:


aliyun-java-sdk-core-3.3.1.jar

aliyun-java-sdk-dysmsapi-1.0.0.jar

相关文章
|
6月前
|
Java API 数据处理
Java新特性:使用Stream API重构你的数据处理
Java新特性:使用Stream API重构你的数据处理
|
6月前
|
Java 大数据 API
Java Stream API:现代集合处理与函数式编程
Java Stream API:现代集合处理与函数式编程
346 100
|
6月前
|
Java API 数据处理
Java Stream API:现代集合处理新方式
Java Stream API:现代集合处理新方式
355 101
|
6月前
|
并行计算 Java 大数据
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
353 101
|
6月前
|
安全 Java API
使用 Java 构建强大的 REST API 的四个基本技巧
本文结合探险领域案例,分享Java构建REST API的四大核心策略:统一资源命名、版本控制与自动化文档、安全防护及标准化异常处理,助力开发者打造易用、可维护、安全可靠的稳健API服务。
442 116
|
6月前
|
算法 安全 Java
除了类,Java中的接口和方法也可以使用泛型吗?
除了类,Java中的接口和方法也可以使用泛型吗?
210 11
|
5月前
|
Java Go 开发工具
【Java】(9)抽象类、接口、内部的运用与作用分析,枚举类型的使用
抽象类必须使用abstract修饰符来修饰,抽象方法也必须使用abstract修饰符来修饰,抽象方法不能有方法体。抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例。抽象类可以包含成员变量、方法(普通方法和抽象方法都可以)、构造器、初始化块、内部类(接 口、枚举)5种成分。抽象类的构造器不能用于创建实例,主要是用于被其子类调用。抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类abstract static不能同时修饰一个方法。
278 1
|
7月前
|
存储 缓存 安全
Java集合框架(二):Set接口与哈希表原理
本文深入解析Java中Set集合的工作原理及其实现机制,涵盖HashSet、LinkedHashSet和TreeSet三大实现类。从Set接口的特性出发,对比List理解去重机制,并详解哈希表原理、hashCode与equals方法的作用。进一步剖析HashSet的底层HashMap实现、LinkedHashSet的双向链表维护顺序特性,以及TreeSet基于红黑树的排序功能。文章还包含性能对比、自定义对象去重、集合运算实战和线程安全方案,帮助读者全面掌握Set的应用与选择策略。
645 23
|
6月前
|
存储 数据可视化 Java
Java Stream API 的强大功能
Java Stream API 是 Java 8 引入的重要特性,它改变了集合数据的处理方式。通过声明式语法,开发者可以更简洁地进行过滤、映射、聚合等操作。Stream API 支持惰性求值和并行处理,提升了代码效率和可读性,是现代 Java 开发不可或缺的工具。
134 0
Java Stream API 的强大功能
|
7月前
|
安全 Java API
Java日期时间API:从Date到Java.time
本文深入解析了Java 8中引入的全新日期时间API,涵盖LocalDate、LocalTime、LocalDateTime、ZonedDateTime等核心类的使用,以及时间调整、格式化、时区处理和与旧API的互操作。通过实例对比,展示了新API在可变性、线程安全与易用性方面的显著优势,并提供迁移方案与实战技巧,助你掌握现代Java时间处理的最佳实践。