com.aliyuncs.profile.IClientProfile Java Examples
The following examples show how to use
com.aliyuncs.profile.IClientProfile.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ApiBootAliYunSmsService.java From api-boot with Apache License 2.0 | 6 votes |
/** * invoke send SMS * * @param request {@link ApiBootSmsRequest} * @return {@link ApiBootSmsResponse} * @throws ApiBootException ApiBoot Exception */ @Override public ApiBootSmsResponse send(ApiBootSmsRequest request) throws ApiBootException { try { IClientProfile profile = DefaultProfile.getProfile(this.profile, this.accessKeyId, this.accessKeySecret); DefaultProfile.addEndpoint(this.profile, ALIYUN_PRODUCT, ALIYUN_PRODUCT_DOMAIN); IAcsClient acsClient = new DefaultAcsClient(profile); SendSmsRequest sendSmsRequest = new SendSmsRequest(); sendSmsRequest.setPhoneNumbers(request.getPhone()); sendSmsRequest.setSignName(this.signName); sendSmsRequest.setTemplateCode(request.getTemplateCode()); sendSmsRequest.setTemplateParam(request.getParam().getParamJson()); SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(sendSmsRequest); return ApiBootSmsResponse.builder().success(SUCCESS_RESULT.equals(sendSmsResponse.getCode())).build(); } catch (Exception e) { throw new ApiBootException("invoke send SMS have Exception:" + e.getMessage()); } }
Example #2
Source File: StsServiceSample.java From jframe with Apache License 2.0 | 6 votes |
static AssumeRoleResponse assumeRole(String accessKeyId, String accessKeySecret, String roleArn, String roleSessionName, String policy, ProtocolType protocolType) throws ClientException { try { // 创建一个 Aliyun Acs Client, 用于发起 OpenAPI 请求 IClientProfile profile = DefaultProfile.getProfile(REGION_CN_HANGZHOU, accessKeyId, accessKeySecret); DefaultAcsClient client = new DefaultAcsClient(profile); // 创建一个 AssumeRoleRequest 并设置请求参数 final AssumeRoleRequest request = new AssumeRoleRequest(); request.setVersion(STS_API_VERSION); request.setMethod(MethodType.POST); request.setProtocol(protocolType); request.setRoleArn(roleArn); request.setRoleSessionName(roleSessionName); request.setPolicy(policy); // 发起请求,并得到response final AssumeRoleResponse response = client.getAcsResponse(request); return response; } catch (ClientException e) { throw e; } }
Example #3
Source File: SMSServiceImpl.java From jframe with Apache License 2.0 | 6 votes |
@Start void start() { LOG.info("Start SMSService"); try { String file = plugin.getConfig(FILE_ALISMS, plugin.getConfig(Config.APP_CONF) + "/alisms.properties"); if (!new File(file).exists()) { throw new FileNotFoundException("not found " + file); } _config.init(file); for (String id : _config.getGroupIds()) { // 创建一个 Aliyun Acs Client, 用于发起 OpenAPI 请求 IClientProfile profile = DefaultProfile.getProfile(_config.getConf(id, K_regionId), _config.getConf(id, K_accessKeyId), _config.getConf(id, K_accessKeySecret)); String regionId = _config.getConf(id, K_regionId, "cn-hangzhou"); String product = _config.getConf(id, K_product, "Dysmsapi"); String domain = _config.getConf(id, K_domain, "dysmsapi.aliyuncs.com"); DefaultProfile.addEndpoint(regionId, product, domain); DefaultAcsClient client = new DefaultAcsClient(profile); clients.put(id, client); } } catch (Exception e) { LOG.error("Start SMSService Failure!" + e.getMessage(), e); return; } LOG.info("Start SMSService Successfully!"); }
Example #4
Source File: STSServiceImpl.java From jframe with Apache License 2.0 | 6 votes |
@Start void start() { LOG.info("Start STSService"); try { String file = plugin.getConfig(FILE_ALISTS, plugin.getConfig(Config.APP_CONF) + "/alists.properties"); if (!new File(file).exists()) { throw new FileNotFoundException("not found " + file); } _config.init(file); for (String id : _config.getGroupIds()) { // 创建一个 Aliyun Acs Client, 用于发起 OpenAPI 请求 IClientProfile profile = DefaultProfile.getProfile(_config.getConf(id, K_regionId), _config.getConf(id, K_accessKeyId), _config.getConf(id, K_accessKeySecret)); DefaultAcsClient client = new DefaultAcsClient(profile); clients.put(id, client); } } catch (Exception e) { LOG.error("Start STSService Failure!" + e.getMessage(), e); return; } LOG.info("Start STSService Successfully!"); }
Example #5
Source File: OSSUtil.java From xnx3 with Apache License 2.0 | 6 votes |
static AssumeRoleResponse assumeRole(String accessKeyId, String accessKeySecret,String roleArn, String roleSessionName, String policy,ProtocolType protocolType) throws ClientException { try { // 创建一个 Aliyun Acs Client, 用于发起 OpenAPI 请求 IClientProfile profile = DefaultProfile.getProfile(region_cn_hangzhou, accessKeyId, accessKeySecret); DefaultAcsClient client = new DefaultAcsClient(profile); // 创建一个 AssumeRoleRequest 并设置请求参数 final AssumeRoleRequest request = new AssumeRoleRequest(); request.setVersion(sta_api_version); request.setMethod(MethodType.POST); request.setProtocol(protocolType); request.setRoleArn(roleArn); request.setRoleSessionName(roleSessionName); request.setPolicy(policy); // 发起请求,并得到response final AssumeRoleResponse response = client.getAcsResponse(request); return response; } catch (ClientException e) { throw e; } }
Example #6
Source File: SMSUtil.java From anyline with Apache License 2.0 | 6 votes |
public static SMSUtil getInstance(String key){ if(BasicUtil.isEmpty(key)){ key = "default"; } SMSUtil util = instances.get(key); if(null == util){ util = new SMSUtil(); SMSConfig config = SMSConfig.getInstance(key); util.config = config; try { System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); //初始化acsClient,暂不支持region化 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", config.ACCESS_KEY, config.ACCESS_SECRET); DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); util.client = new DefaultAcsClient(profile); } catch (Exception e) { e.printStackTrace(); e.printStackTrace(); } instances.put(key, util); } return util; }
Example #7
Source File: AliyunSmsConfig.java From cloud-service with MIT License | 6 votes |
@Bean public IAcsClient iAcsClient() throws ClientException { // 设置超时时间-可自行调整 System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); // 初始化ascClient需要的几个参数 final String product = "Dysmsapi";// 短信API产品名称(短信产品名固定,无需修改) final String domain = "dysmsapi.aliyuncs.com";// 短信API产品域名(接口地址固定,无需修改) // 初始化ascClient,暂时不支持多region(请勿修改) IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret); DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); return acsClient; }
Example #8
Source File: AliyunSmsConfig.java From open-capacity-platform with Apache License 2.0 | 6 votes |
@Bean public IAcsClient iAcsClient() throws ClientException { // 设置超时时间-可自行调整 System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); // 初始化ascClient需要的几个参数 logger.info("初始化阿里云接口:" + this); final String product = "Dysmsapi";// 短信API产品名称(短信产品名固定,无需修改) final String domain = "dysmsapi.aliyuncs.com";// 短信API产品域名(接口地址固定,无需修改) // 替换成你的AK // 初始化ascClient,暂时不支持多region(请勿修改) IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret); try { DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); } catch (ClientException e) { logger.error("初始化阿里云客户端失败:" + e); } IAcsClient acsClient = new DefaultAcsClient(profile); return acsClient; }
Example #9
Source File: AliyunSmsConfiguration.java From daming with Apache License 2.0 | 5 votes |
@ConditionalOnMissingBean(name = "acsClient") @SneakyThrows @Bean public DefaultAcsClient acsClient() { IClientProfile profile = DefaultProfile.getProfile(regionId, aliyunCredentialsProperties.getAccessKeyId(), aliyunCredentialsProperties.getAccessKeySecret()); DefaultProfile.addEndpoint(regionId, regionId, product, domain); return new DefaultAcsClient(profile); }
Example #10
Source File: SmsUtil.java From codeway_service with GNU General Public License v3.0 | 5 votes |
/** * 发送短信 * * @param mobile 手机号 * @param template_code 模板号 * @param sign_name 签名 * @param param 参数 * @return SendSmsResponse */ public SendSmsResponse sendSms(String mobile, String template_code, String sign_name, String param) throws ClientException { //可自助调整超时时间 System.setProperty("sun.net.client.defaultConnectTimeout","10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); //初始化acsClient,暂不支持region化 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou",accessKeyId, accessKeySecret); DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product,domain); IAcsClient acsClient = new DefaultAcsClient(profile); //组装请求对象‐具体描述见控制台‐文档部分内容 SendSmsRequest request = new SendSmsRequest(); //必填:待发送手机号 request.setPhoneNumbers(mobile); //必填:短信签名‐可在短信控制台中找到 request.setSignName(sign_name); //必填:短信模板‐可在短信控制台中找到 request.setTemplateCode(template_code); //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为$ {code}"时,此处的值为("{\"name\":\"Tom\", \"code\":\"123\"}" request.setTemplateParam(param); //选填‐上行短信扩展码(无特殊需求用户请忽略此字段) //request.setSmsUpExtendCode("90997"); //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.setOutId("yourOutId"); //hint 此处可能会抛出异常,注意catch SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); return sendSmsResponse; }
Example #11
Source File: SmsUtil.java From codeway_service with GNU General Public License v3.0 | 5 votes |
/** * 查询发送详情 * @param mobile * @param bizId * @return QuerySendDetailsResponse */ public QuerySendDetailsResponse querySendDetails(String mobile, String bizId) throws ClientException { //可自助调整超时时间 System.setProperty("sun.net.client.defaultConnectTimeout","10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); //初始化acsClient,暂不支持region化 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou",accessKeyId, accessKeySecret); DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product,domain); IAcsClient acsClient = new DefaultAcsClient(profile); //组装请求对象 QuerySendDetailsRequest request = new QuerySendDetailsRequest(); //必填‐号码 request.setPhoneNumber(mobile); //可选‐流水号 request.setBizId(bizId); //必填‐发送日期 支持30天内记录查询,格式yyyyMMdd SimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd"); request.setSendDate(ft.format(new Date())); //必填‐页大小 request.setPageSize(10L); //必填‐当前页码从1开始计数 request.setCurrentPage(1L); //hint 此处可能会抛出异常,注意catch QuerySendDetailsResponse querySendDetailsResponse = acsClient.getAcsResponse(request); return querySendDetailsResponse; }
Example #12
Source File: AliyunUtil.java From roncoo-education with MIT License | 5 votes |
public static boolean sendMsg(String phone, String code, Aliyun aliyun) throws ClientException { System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); // 初始化ascClient需要的几个参数 // 初始化ascClient,暂时不支持多region(请勿修改) IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", aliyun.getAliyunAccessKeyId(), aliyun.getAliyunAccessKeySecret()); DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", "Dysmsapi", "dysmsapi.aliyuncs.com"); IAcsClient acsClient = new DefaultAcsClient(profile); // 组装请求对象 SendSmsRequest request = new SendSmsRequest(); // 使用post提交 request.setMethod(MethodType.POST); // 必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 request.setPhoneNumbers(phone); // 必填:短信签名-可在短信控制台中找到 request.setSignName(aliyun.getSignName()); // 必填:短信模板-可在短信控制台中找到 request.setTemplateCode(aliyun.getSmsCode()); // 可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 // 友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败 request.setTemplateParam("{\"code\":\"{code}\",\"product\":\"领课开源\"}".replace("{code}", code)); // 可选-上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段) // request.setSmsUpExtendCode("90997"); // 可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 // request.setOutId("yourOutId"); // 请求失败这里会抛ClientException异常 SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); if (sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) { // 请求成功 log.debug(sendSmsResponse.getCode()); return true; } else { log.error("发送失败,code={},message={}", sendSmsResponse.getCode(), sendSmsResponse.getMessage()); return false; } }
Example #13
Source File: SmsapiService.java From FlyCms with MIT License | 5 votes |
public SendSmsResponse sendSms(String PhoneNumber,String code,String accessKeyId,String accessKeySecret,String signName,String templateCode) throws ClientException { //可自助调整超时时间 System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); //初始化acsClient,暂不支持region化 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret); DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); //组装请求对象-具体描述见控制台-文档部分内容 SendSmsRequest request = new SendSmsRequest(); //必填:待发送手机号 request.setPhoneNumbers(PhoneNumber); //必填:短信签名-可在短信控制台中找到 request.setSignName(signName); //request.setSignName("猎职网"); //必填:短信模板-可在短信控制台中找到 request.setTemplateCode(templateCode); //request.setTemplateCode("SMS_126565207"); //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.setTemplateParam("{\"name\":\"Tom\", \"code\":\""+code+"\"}"); //选填-上行短信扩展码(无特殊需求用户请忽略此字段) //request.setSmsUpExtendCode("90997"); //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.setOutId("用户名"); //hint 此处可能会抛出异常,注意catch SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); return sendSmsResponse; }
Example #14
Source File: SmsapiService.java From FlyCms with MIT License | 5 votes |
public static QuerySendDetailsResponse querySendDetails(String PhoneNumber,String bizId,String accessKeyId,String accessKeySecret) throws ClientException { //可自助调整超时时间 System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); //初始化acsClient,暂不支持region化 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret); DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); //组装请求对象 QuerySendDetailsRequest request = new QuerySendDetailsRequest(); //必填-号码 request.setPhoneNumber(PhoneNumber); //可选-流水号 request.setBizId(bizId); //必填-发送日期 支持30天内记录查询,格式yyyyMMdd SimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd"); request.setSendDate(ft.format(new Date())); //必填-页大小 request.setPageSize(10L); //必填-当前页码从1开始计数 request.setCurrentPage(1L); //hint 此处可能会抛出异常,注意catch QuerySendDetailsResponse querySendDetailsResponse = acsClient.getAcsResponse(request); return querySendDetailsResponse; }
Example #15
Source File: AliyunSmsMessageNotifier.java From super-cloudops with Apache License 2.0 | 5 votes |
@Override public void afterPropertiesSet() throws Exception { super.afterPropertiesSet(); AliyunSmsNotifyProperties aliyun = config.getAliyun(); // 设置超时时间-可自行调整 System.setProperty("sun.net.client.defaultConnectTimeout", aliyun.getDefaultConnectTimeout()); System.setProperty("sun.net.client.defaultReadTimeout", aliyun.getDefaultReadTimeout()); // 初始化ascClient,暂时不支持多region(请勿修改) IClientProfile profile = DefaultProfile.getProfile(aliyun.getRegionId(), aliyun.getAccessKeyId(), aliyun.getAccessKeySecret()); acsClient = new DefaultAcsClient(profile); }
Example #16
Source File: SmsAliStrategy.java From zuihou-admin-cloud with Apache License 2.0 | 5 votes |
@Override protected SmsResult send(SmsDO smsDO) { //可自助调整超时时间 System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); try { //初始化acsClient,暂不支持region化 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", smsDO.getAppId(), smsDO.getAppSecret()); // DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", PRODUCT, DOMAIN); DefaultProfile.addEndpoint("cn-hangzhou", PRODUCT, DOMAIN); IAcsClient acsClient = new DefaultAcsClient(profile); //组装请求对象-具体描述见控制台-文档部分内容 SendSmsRequest request = new SendSmsRequest(); //必填:待发送手机号 request.setPhoneNumbers(smsDO.getPhone()); //必填:短信签名-可在短信控制台中找到 request.setSignName(smsDO.getSignName()); //必填:短信模板-可在短信控制台中找到 request.setTemplateCode(smsDO.getTemplateCode()); //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.setTemplateParam(smsDO.getTemplateParams()); //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.setOutId(String.valueOf(smsDO.getTaskId())); log.info("阿里短信发送参数={}", JSONObject.toJSONString(request)); //hint 此处可能会抛出异常,注意catch SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); log.info("阿里短信发送结果={}", JSONObject.toJSONString(sendSmsResponse)); return SmsResult.build(ProviderType.ALI, sendSmsResponse.getCode(), sendSmsResponse.getBizId(), sendSmsResponse.getRequestId(), sendSmsResponse.getMessage(), 0); } catch (ClientException e) { log.warn("阿里短信发送失败:" + smsDO.getPhone(), e); return SmsResult.fail(e.getMessage()); } }
Example #17
Source File: AliyunSmsConfiguration.java From paascloud-master with Apache License 2.0 | 5 votes |
/** * Acs client acs client. * * @return the acs client * * @throws ClientException the client exception */ @Bean public IAcsClient acsClient() throws ClientException { log.info("SMS Bean IAcsClient Start"); IClientProfile profile = DefaultProfile.getProfile(paascloudProperties.getAliyun().getSms().getRegionId(), paascloudProperties.getAliyun().getKey().getAccessKeyId(), paascloudProperties.getAliyun().getKey().getAccessKeySecret()); DefaultProfile.addEndpoint(paascloudProperties.getAliyun().getSms().getEndpointName(), paascloudProperties.getAliyun().getSms().getRegionId(), paascloudProperties.getAliyun().getSms().getProduct(), paascloudProperties.getAliyun().getSms().getDomain()); DefaultAcsClient defaultAcsClient = new DefaultAcsClient(profile); log.info("加载SMS Bean IAcsClient OK"); return defaultAcsClient; }
Example #18
Source File: AbstractAliSmsTemplate.java From fast-family-master with Apache License 2.0 | 5 votes |
@Override public IAcsClient getAcsClient() { IClientProfile profile = DefaultProfile.getProfile(aliSmsProperties.getRegionId(), aliSmsProperties.getAliyunAccessKeyId(), aliSmsProperties.getAliyunAccessKeySecret()); try { DefaultProfile.addEndpoint(aliSmsProperties.getEndPointName(), aliSmsProperties.getRegionId(), aliSmsProperties.getProduce(), aliSmsProperties.getDomain()); } catch (ClientException e) { throw new AliSmsException(e); } return new DefaultAcsClient(profile); }
Example #19
Source File: SmsClient.java From aliyun-sms with Apache License 2.0 | 5 votes |
/** * Instantiates a new SmsClient. * * @param accessKeyId 阿里云短信 accessKeyId * @param accessKeySecret 阿里云短信 accessKeySecret * @param smsTemplates 预置短信模板 */ public SmsClient(final String accessKeyId, final String accessKeySecret, final Map<String, SmsTemplate> smsTemplates) { checkNotEmpty(accessKeyId, "'accessKeyId' must be not empty"); checkNotEmpty(accessKeySecret, "'accessKeySecret' must be not empty"); final IClientProfile clientProfile = DefaultProfile.getProfile( "default", accessKeyId, accessKeySecret); this.acsClient = new DefaultAcsClient(clientProfile); this.smsTemplates = smsTemplates; }
Example #20
Source File: SimaplePhoneRegist.java From danyuan-application with Apache License 2.0 | 5 votes |
public void SendPhoneToCustom(String phone, String templateParam) throws ClientException { // 设置超时时间-可自行调整 System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); // 初始化ascClient需要的几个参数 final String product = "Dysmsapi";// 短信API产品名称(短信产品名固定,无需修改) final String domain = "dysmsapi.aliyuncs.com";// 短信API产品域名(接口地址固定,无需修改) // 替换成你的AK // 初始化ascClient,暂时不支持多region(请勿修改) IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", PHONE_ACCESSKEYID, PHONE_ACCESSKEYSECRET); DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); // 组装请求对象 SendSmsRequest request = new SendSmsRequest(); // 使用post提交 request.setMethod(MethodType.POST); // 必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式;发送国际/港澳台消息时,接收号码格式为国际区号+号码,如“85200000000” request.setPhoneNumbers(phone); // 必填:短信签名-可在短信控制台中找到 request.setSignName(PHONE_SIGNNAME); // 必填:短信模板-可在短信控制台中找到,发送国际/港澳台消息时,请使用国际/港澳台短信模版 request.setTemplateCode(PHONE_TEMPLATECODE); // 可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 // 友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败 request.setTemplateParam(templateParam); // 可选-上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段) // request.setSmsUpExtendCode("90997"); // 可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 // request.setOutId("yourOutId"); // 请求失败这里会抛ClientException异常 SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); if (sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) { // 请求成功 } }
Example #21
Source File: FunctionComputeClientTest.java From fc-java-sdk with MIT License | 5 votes |
private Credentials getAssumeRoleCredentials(String policy) throws com.aliyuncs.exceptions.ClientException { IClientProfile profile = DefaultProfile .getProfile(REGION, ACCESS_KEY, SECRET_KEY); //DefaultProfile.addEndpoint("sts.us-west-1.aliyuncs.com", "us-west-1", "Sts", "sts.us-west-1.aliyuncs.com"); DefaultAcsClient client = new DefaultAcsClient(profile); AssumeRoleRequest request = new AssumeRoleRequest(); request.setVersion(STS_API_VERSION); request.setMethod(MethodType.POST); request.setProtocol(ProtocolType.HTTPS); request.setRoleArn(STS_ROLE); request.setRoleSessionName("test-session"); if (policy != null) { request.setPolicy(policy); } AssumeRoleResponse stsResponse; try { stsResponse = client.getAcsResponse(request); } catch (com.aliyuncs.exceptions.ClientException e) { throw new RuntimeException(e); } String accessKey = stsResponse.getCredentials().getAccessKeyId(); String secretKey = stsResponse.getCredentials().getAccessKeySecret(); String stsToken = stsResponse.getCredentials().getSecurityToken(); assertNotNull(accessKey); assertNotNull(secretKey); assertNotNull(stsToken); return stsResponse.getCredentials(); }
Example #22
Source File: SmsSenderAliyunImpl.java From spring-backend-boilerplate with Apache License 2.0 | 5 votes |
public SmsSenderAliyunImpl(AdvancedAliyunOptions options) { this.options = options; try { IClientProfile profile = DefaultProfile.getProfile(options.getArea(), options.getAccessKey(), options.getAccessSecret()); DefaultProfile.addEndpoint(options.getArea(), options.getArea(), "Sms", options.getSmsEndpoint()); client = new DefaultAcsClient(profile); } catch (Throwable e) { throw new SmsException("Initialize the aliyun sms client failed.", e); } }
Example #23
Source File: SmsUtil.java From codeway_service with GNU General Public License v3.0 | 5 votes |
/** * 查询发送详情 * @param mobile * @param bizId * @return QuerySendDetailsResponse */ public QuerySendDetailsResponse querySendDetails(String mobile, String bizId) throws ClientException { //可自助调整超时时间 System.setProperty("sun.net.client.defaultConnectTimeout","10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); //初始化acsClient,暂不支持region化 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou",accessKeyId, accessKeySecret); DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product,domain); IAcsClient acsClient = new DefaultAcsClient(profile); //组装请求对象 QuerySendDetailsRequest request = new QuerySendDetailsRequest(); //必填‐号码 request.setPhoneNumber(mobile); //可选‐流水号 request.setBizId(bizId); //必填‐发送日期 支持30天内记录查询,格式yyyyMMdd SimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd"); request.setSendDate(ft.format(new Date())); //必填‐页大小 request.setPageSize(10L); //必填‐当前页码从1开始计数 request.setCurrentPage(1L); //hint 此处可能会抛出异常,注意catch QuerySendDetailsResponse querySendDetailsResponse = acsClient.getAcsResponse(request); return querySendDetailsResponse; }
Example #24
Source File: DMServiceImpl.java From jframe with Apache License 2.0 | 5 votes |
@Start void start() { LOG.info("Start DMService"); try { String file = plugin.getConfig(FILE_ALIDM, plugin.getConfig(Config.APP_CONF) + "/alidm.properties"); if (!new File(file).exists()) { throw new FileNotFoundException("not found " + file); } _config.init(file); for (String id : _config.getGroupIds()) { // 创建一个 Aliyun Acs Client, 用于发起 OpenAPI 请求 IClientProfile profile = DefaultProfile.getProfile(_config.getConf(id, K_regionId), _config.getConf(id, K_accessKeyId), _config.getConf(id, K_accessKeySecret)); // https://help.aliyun.com/document_detail/96856.html?spm=a2c4g.11186623.6.588.476d3a35bcMFGs String regionId = _config.getConf(id, K_regionId, "cn-hangzhou"); String product = _config.getConf(id, K_product, "Dm"); String domain = _config.getConf(id, K_domain, "dm.aliyuncs.com"); DefaultProfile.addEndpoint(regionId, product, domain); DefaultAcsClient client = new DefaultAcsClient(profile); clients.put(id, client); } } catch (Exception e) { LOG.error("Start DMService Failure!" + e.getMessage(), e); return; } LOG.info("Start DMService Successfully!"); }
Example #25
Source File: SmsUtil.java From codeway_service with GNU General Public License v3.0 | 5 votes |
/** * 发送短信 * * @param mobile 手机号 * @param template_code 模板号 * @param sign_name 签名 * @param param 参数 * @return SendSmsResponse */ public SendSmsResponse sendSms(String mobile, String template_code, String sign_name, String param) throws ClientException { //可自助调整超时时间 System.setProperty("sun.net.client.defaultConnectTimeout","10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); //初始化acsClient,暂不支持region化 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou",accessKeyId, accessKeySecret); DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product,domain); IAcsClient acsClient = new DefaultAcsClient(profile); //组装请求对象‐具体描述见控制台‐文档部分内容 SendSmsRequest request = new SendSmsRequest(); //必填:待发送手机号 request.setPhoneNumbers(mobile); //必填:短信签名‐可在短信控制台中找到 request.setSignName(sign_name); //必填:短信模板‐可在短信控制台中找到 request.setTemplateCode(template_code); //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为$ {code}"时,此处的值为("{\"name\":\"Tom\", \"code\":\"123\"}" request.setTemplateParam(param); //选填‐上行短信扩展码(无特殊需求用户请忽略此字段) //request.setSmsUpExtendCode("90997"); //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.setOutId("yourOutId"); //hint 此处可能会抛出异常,注意catch SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); return sendSmsResponse; }
Example #26
Source File: DySmsHelper.java From jeewx-boot with Apache License 2.0 | 5 votes |
/** * 发短信接口(短信模板编码自己传入) * @param templateCode * @param phone * @param json * @return * @throws ClientException */ public static boolean sendSms(String templateCode,String phone,JSONObject json) throws ClientException { //可自助调整超时时间 System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); //初始化acsClient,暂不支持region化 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret); DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); //组装请求对象-具体描述见控制台-文档部分内容 SendSmsRequest request = new SendSmsRequest(); //必填:待发送手机号 request.setPhoneNumbers(phone); //必填:短信签名-可在短信控制台中找到 request.setSignName(msgSignName); //必填:短信模板-可在短信控制台中找到 request.setTemplateCode(templateCode); //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.setTemplateParam(json.toString()); //选填-上行短信扩展码(无特殊需求用户请忽略此字段) //request.setSmsUpExtendCode("90997"); //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 //request.setOutId("yourOutId"); boolean result = false; //hint 此处可能会抛出异常,注意catch SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); logger.info("短信接口返回的数据----------------"); logger.info("{Code:" + sendSmsResponse.getCode()+",Message:" + sendSmsResponse.getMessage()+",RequestId:"+ sendSmsResponse.getRequestId()+",BizId:"+sendSmsResponse.getBizId()+"}"); if ("OK".equals(sendSmsResponse.getCode())) { result = true; } return result; }
Example #27
Source File: AppConfig.java From staffjoy with MIT License | 5 votes |
@Bean public IAcsClient acsClient(@Autowired SentryClient sentryClient) { IClientProfile profile = DefaultProfile.getProfile(SmsConstant.ALIYUN_REGION_ID, appProps.getAliyunAccessKey(), appProps.getAliyunAccessSecret()); try { DefaultProfile.addEndpoint(SmsConstant.ALIYUN_SMS_ENDPOINT_NAME, SmsConstant.ALIYUN_REGION_ID, SmsConstant.ALIYUN_SMS_PRODUCT, SmsConstant.ALIYUN_SMS_DOMAIN); } catch (ClientException ex) { sentryClient.sendException(ex); logger.error("Fail to create acsClient ", ex); } IAcsClient client = new DefaultAcsClient(profile); return client; }
Example #28
Source File: SmsUtils.java From leyou with Apache License 2.0 | 5 votes |
public SendSmsResponse sendSms(String phone, String code, String signName, String template) throws ClientException { // 可自助调整超时时间 System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); // 初始化acsClient,暂不支持region化 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", prop.getAccessKeyId(), prop.getAccessKeySecret()); DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); // 组装请求对象-具体描述见控制台-文档部分内容 SendSmsRequest request = new SendSmsRequest(); request.setMethod(MethodType.POST); // 必填:待发送手机号 request.setPhoneNumbers(phone); // 必填:短信签名-可在短信控制台中找到 request.setSignName(signName); // 必填:短信模板-可在短信控制台中找到 request.setTemplateCode(template); // 可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.setTemplateParam("{\"code\":\"" + code + "\"}"); // 选填-上行短信扩展码(无特殊需求用户请忽略此字段) //request.setSmsUpExtendCode("90997"); // 可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.setOutId("123456"); // hint 此处可能会抛出异常,注意catch SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); logger.info("发送短信状态:{}", sendSmsResponse.getCode()); logger.info("发送短信消息:{}", sendSmsResponse.getMessage()); return sendSmsResponse; }
Example #29
Source File: AppConfig.java From staffjoy with MIT License | 5 votes |
@Bean public IAcsClient acsClient() { IClientProfile profile = DefaultProfile.getProfile(MailConstant.ALIYUN_REGION_ID, appProps.getAliyunAccessKey(), appProps.getAliyunAccessSecret()); IAcsClient client = new DefaultAcsClient(profile); return client; }
Example #30
Source File: DySmsHelper.java From jeewx-boot with Apache License 2.0 | 5 votes |
/** * 发短信接口(固定:登录验证码模板) * @param phone * @param json * @return * @throws ClientException */ public static boolean sendSms(String phone,JSONObject json) throws ClientException { //可自助调整超时时间 System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); //初始化acsClient,暂不支持region化 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret); DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); //组装请求对象-具体描述见控制台-文档部分内容 SendSmsRequest request = new SendSmsRequest(); //必填:待发送手机号 request.setPhoneNumbers(phone); //必填:短信签名-可在短信控制台中找到 request.setSignName(msgSignName); //必填:短信模板-可在短信控制台中找到 request.setTemplateCode(templateCode); //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.setTemplateParam(json.toString()); request.setMethod(MethodType.POST); //选填-上行短信扩展码(无特殊需求用户请忽略此字段) //request.setSmsUpExtendCode("90997"); //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 //request.setOutId("yourOutId"); boolean result = false; //hint 此处可能会抛出异常,注意catch SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); logger.info("短信接口返回的数据----------------"); logger.info("{Code:" + sendSmsResponse.getCode()+",Message:" + sendSmsResponse.getMessage()+",RequestId:"+ sendSmsResponse.getRequestId()+",BizId:"+sendSmsResponse.getBizId()+"}"); if ("OK".equals(sendSmsResponse.getCode())) { result = true; } return result; }