发表于: 2017-11-17 22:01:34

1 666


今天完成的事情

注册容联,SendCloud,七牛云的账号,再实名验证

听说金山云不好用,所以换成了阿里云,之前买服务器的时候注册过了,直接就能用。

查看各个平台的文档,尝试进行调用

短信:

下载容联的java的SDK,修改一些参数:

public class SDKTestSendTemplateSMS {
 /**
   * @param args
   */
  public static void main(String[] args) {
     HashMap<String, Object> result = null;
     CCPRestSDK restAPI = new CCPRestSDK();
     restAPI.init("app.cloopen.com", "8883");// 初始化服务器地址和端口,格式如下,服务器地址不需要写https://
     restAPI.setAccount("ACCOUNT SID",
           "AUTH TOKEN");// 初始化主帐号和主帐号TOKEN
     restAPI.setAppId("ApplID");// 初始化应用ID
     result = restAPI.sendTemplateSMS("15720601065","1" ,new String[]{"Hello SMS!"});
     System.out.println("SDKTestSendTemplateSMS result=" + result);
     
     if("000000".equals(result.get("statusCode"))){
                                   //正常返回输出data包体信息(map
        HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");
        Set<String> keySet = data.keySet();
        for(String key:keySet){
           Object object = data.get(key);
           System.out.println(key +" = "+object);
        }
        }else{
              //异常返回输出错误码和错误信息
        System.out.println("错误码=" + result.get("statusCode") +" 错误信息= "+resul t.get("statusMsg"));
     }
}

其中的ACCOUNT SID,AUTH TOKEN,ApplID,可以在容联的控制台首页看到,用于验证调用者的身份,手机号码需要添加测试号码,选择短信模板1,运行测试:

控制台输出:

可以调用


尝试发送邮件:

登陆SendCloud,查看文档,下载java的SDK,尝试运行

public class ScTest {

public static void main(String[] args) throws Throwable {
SendCloud sc = SendCloudBuilder.build();
     // 创建邮件body
     MailBody body = new MailBody();
     body.setFrom("test@163.com");
     body.setFromName("张三");
     body.setReplyTo("service@qq.com");
     body.setSubject("测试");
     // 创建文件附件
//    body.addAttachments(new File("D:/test.txt"));
     // 创建流附件
//    body.addAttachments(new FileInputStream(new File("D:/ff.png")),"ff.png");
     // 邮箱收件人
     MailAddressReceiver receiver = new MailAddressReceiver();
     receiver.setBroadcastSend(true);// 广播发送(收件人会全部显示)
     receiver.addTo("1179064421@qq.com");
    // 地址列表收件人
     // MailListReceiver receiver=new MailListReceiver();
     // 添加邮件地址列表
     // receiver.addMailList("developers@sendcloud.com");
     // 创建模版邮件内容
     TemplateContent content = new TemplateContent();
     content.setTemplateInvokeName("Hello SendCloud!");
     // 创建文本邮件内容
     // TextContent content = new TextContent();
     // content.setContent_type(ScContentType.html);
     // content.setText("hello world");
     // 创建邮件
     SendCloudMail scmail = new SendCloudMail();
     scmail.setBody(body);
     scmail.setContent(content);
     scmail.setTo(receiver);
     // 发信
     ResponseData result = sc.sendMail(scmail);
     System.out.println(JSONObject.fromObject(result).toString());
  }
}

修改了收件人和具体内容,还需要在配置文件中添加

api_user = your_api_user
api_key = your_api_key

其中的api_user和api_key可以在SendCloud的邮箱首页中查看,api_key需要点击生成新的api_key,可以设定有效时间,最长好像是1小时。

进行测试:


需要注意,qq邮箱会将这封邮件视为垃圾邮件,要在垃圾箱中才能找到。

控制台输出:

测试成功


用阿里云添加图片

需要开通OSS对象存储,然后查看java-SDK的文档:https://help.aliyun.com/document_detail/31817.html?spm=5176.doc32013.6.539.jCiBY3

可以先直接看快速入门

只需要添加一个jar包依赖就能实现操作环境,不过文档中推荐的jar包添加进pom.xml后会报错,所以换了一个版本:

<dependency>
 <groupId>com.aliyun.oss</groupId>
 <artifactId>aliyun-sdk-oss</artifactId>
 <version>2.8.1</version>
</dependency>

参照文档,写测试类,以文件流的方式上传:

 @org.junit.Test
   public void send()throws FileNotFoundException{

// endpoint以杭州为例,其它region请按实际情况填写
       String endpoint = "http://oss-cn-beijing.aliyuncs.com";
// 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建
       String accessKeyId = "<yourAccessKeyId>";
       String accessKeySecret = "<yourAccessKeySecret>";

// 创建OSSClient实例
       OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);

// 上传文件流
       InputStream inputStream = new FileInputStream("C:\\Users\\kelis\\Desktop\\Z.jpg");
       ossClient.putObject("yourBucketName", "yourKey", inputStream);
// 关闭client
       ossClient.shutdown();
   }

其中的<yourAccessKeyId>,<yourAccessKeySecret>需要在OSS的控制台中查看,还需要在控制台中新建Bucket,其名字对应于这里的yourBucketName,yourKey对应的是所上传的文件所对应的键值,还需要注意的一点是,endpoint对应于新建Bucket时所选择的区域,下方会有相应的url。

进行测试:

上传成功


明天的计划

尝试用七牛云上传

整合进任务代码


遇到的问题

文档好多,看得费劲


收获

了解了调用第三方api的基本知识


返回列表 返回列表
评论

    分享到