我正在使用AWS通过我的应用发送短信。
我可以通过AWS Web控制台发送短信,但是,通过SDK发送短信不成功,没有任何异常信息,发送请求的状态为200,仍然收到AWS_REQUEST_ID的返回值。
AmazonSNSClient snsClient = new AmazonSNSClient(new BasicAWSCredentials(accessKey, secretKey));
Map<String, MessageAttributeValue> smsAttributes = new HashMap<String, MessageAttributeValue>();
smsAttributes.put("AWS.SNS.SMS.SenderID", new MessageAttributeValue()
.withStringValue("mySenderID") //The sender ID shown on the device.
.withDataType("String"));
smsAttributes.put("AWS.SNS.SMS.MaxPrice", new MessageAttributeValue()
.withStringValue("1") //Sets the max price to 0.50 USD.
.withDataType("Number"));
// Sets the type to promotional
smsAttributes.put("AWS.SNS.SMS.SMSType",
new MessageAttributeValue().withStringValue("Promotional").withDataType("String"));
JSONObject smsService = (JSONObject) new JSONObject(json).get("smsService");
String phoneNumber = smsService.getString("phoneNumber");
String message = smsService.getString("message");
PublishResult result = snsClient.publish(new PublishRequest().withMessage(message).withPhoneNumber(phoneNumber)
.withMessageAttributes(smsAttributes));
LOGGER.info("Message ID: {}", result); // Prints the message ID.
答案 0 :(得分:0)
经过一段时间的研究,我发现根本原因是预算已经结束,所以我不能再发送短信了(我跟踪日志来检测它)。