最近一直在做项目,很久没有写过博客了,最近做的一个项目中遇到了一个业务需要用到短信功能包括了发送短信和短信回复之后要收到回复内容,阿里云短信服务是一个非常好的平台,里面提供了多种短信接口可以供我们使用,但是作为一个菜鸟,我也是第一次使用阿里云的这个短信接口,研究了一些时间在这个过程中也遇到了一些问题,现在我已经解决这些问题,这里我把我遇到的问题总结一些,帮助和我一样需要调用短信接口的同学。因为我做的项目需要收到短信服务,即阿里云短信服务中的短信上行,关于这个功能阿里云文档上解释的并不是很明白,而且我查了很多博客说的也不是特别明白,这就会让像我一样第一次使用短信接口的同学很迷茫。下面我们来看下。
发送短信功能
关于发送短信这个功能,阿里云的文档写的还是很清楚的,阿里云控制台上提供了相应的SDK和DEMO,由于我学的java,这里以java为例。
首先说一下总体流程:我们想要实现调用阿里云短信接口的话,我们需要完成以下几步
首先我们要有一个阿里云帐号,然后开通阿里云短信服务,然后在短信服务控制台获取AccessKey,这个Key相当于一个唯一标识来确定使用者的权限的,然后创建签名和模版
短信签名类似于我们认知的签名一样,在短信内容的开头有一个签名用来标识短信来源的,这个模版就是我们短信内容呈现的样例,最后在我们的程序中配置好接口就可以使用短信服务了。
发送短信样例:
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
public class CommonRpc {
public static void main(String[] args) {
DefaultProfile profile = DefaultProfile.getProfile("phoneNumbers", "<accessKeyId>", "<accessSecret>");
IAcsClient client = new DefaultAcsClient(profile);
CommonRequest request = new CommonRequest();
//request.setProtocol(ProtocolType.HTTPS);
request.setMethod(MethodType.POST);
request.setDomain("